/* Viewport-sized image, content-sized dialog; no inherited case/reader geometry. */
.portfolio-zoomable{cursor:zoom-in;touch-action:pan-x pan-y;outline-offset:-3px}
dialog.portfolio-image-dialog{position:fixed;inset:0;box-sizing:content-box;display:none;margin:auto;padding:6px;border:1px solid #e2e7e9;border-radius:17px;width:max-content;max-width:calc(100vw - 32px);height:max-content;max-height:calc(100dvh - 24px);overflow:hidden;background:#fff;color:#282c30;box-shadow:0 24px 90px #0006;font:15px/1.4 'DM Sans',Arial,sans-serif;transform:none}
dialog.portfolio-image-dialog[open]{display:block}
dialog.portfolio-image-dialog::backdrop{background:#10151ac4;backdrop-filter:blur(6px)}
.portfolio-image-dialog .portfolio-image-stage{position:relative;overflow:hidden;display:block;background:#fff;max-width:100%;border-radius:10px}
.portfolio-image-dialog .portfolio-image-stage>img{position:static;display:block;margin:0;padding:0;border:0;border-radius:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform:none;box-shadow:none}
.portfolio-image-dialog.is-phone .portfolio-image-stage>img{position:absolute;left:0;top:0;width:145.1613%;height:auto;transform:translate(-15.7778%,-28%);object-fit:fill}
.portfolio-image-dialog.is-phone.is-coupon .portfolio-image-stage>img{width:128.5714%;transform:translate(-11.3333%,-20.625%);clip-path:inset(20.625% 10.8889% 6% 11.3333%)}
.portfolio-image-dialog .portfolio-image-close{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#fffef5ed;color:#171c20;font-size:27px;box-shadow:0 2px 8px #0002;cursor:pointer}
.portfolio-image-dialog .portfolio-image-bottom{padding:14px 18px;display:flex;align-items:center;gap:16px;max-width:100%;box-sizing:border-box}
.portfolio-image-dialog .portfolio-image-caption{font:15px/1.4 'DM Sans',Arial,sans-serif;flex:1;min-width:0;color:#50585e;max-height:4.2em;overflow:auto}
.portfolio-image-dialog .portfolio-image-nav{display:flex;gap:6px;flex-shrink:0}
.portfolio-image-dialog .portfolio-image-nav[hidden],.portfolio-image-dialog .portfolio-image-progress[hidden]{display:none!important}
.portfolio-image-dialog .portfolio-image-nav button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#eef2f3;color:#35434a;font:20px/1 Arial,sans-serif;cursor:pointer}
.portfolio-image-dialog .portfolio-image-progress{display:none;height:4px;margin:0 18px 14px;background:#e2e9eb;border-radius:8px;overflow:hidden}
.portfolio-image-dialog .portfolio-image-progress i{display:block;height:100%;background:#09859c;border-radius:8px;transition:transform .2s}
.portfolio-image-dialog .portfolio-image-bottom{padding-left:12px;padding-right:12px}
@media(max-width:760px){dialog.portfolio-image-dialog{padding:4px;border-radius:15px}.portfolio-image-dialog .portfolio-image-nav{display:none!important}.portfolio-image-dialog .portfolio-image-progress{display:block}.portfolio-image-dialog .portfolio-image-caption{font-size:14px}.portfolio-image-dialog .portfolio-image-bottom{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.portfolio-image-dialog .portfolio-image-progress i{transition:none}}
/* Geometry, rather than a font's multiplication-sign baseline, centers every close mark. */
dialog :is(.portfolio-image-close,.insight-close,.ms-reader-close){display:grid!important;place-items:center!important;padding:0!important;line-height:0!important;text-indent:0!important}
dialog :is(.portfolio-image-close,.insight-close,.ms-reader-close)>.portfolio-close-icon{display:block!important;width:20px!important;height:20px!important;min-width:20px;min-height:20px;margin:0!important;padding:0!important;transform:none!important;fill:none;stroke:currentColor;flex-shrink:0}

.sailvan-case .mt1-caption{min-height:76px;font-size:15px}
.sailvan-case .mt1-caption p{margin:0;line-height:1.6}
.sailvan-case .mt1-caption strong{display:block;font-size:18px;font-weight:550;color:#24282b;margin-bottom:5px}
.sailvan-case .sv-phone .mt1-slide[data-display="coupon-panel"] img{width:128.5714%;transform:translate(-11.3333%,-20.625%);clip-path:inset(20.625% 10.8889% 6% 11.3333%)}
.sailvan-case .sv-campaign-stats{display:flex;flex-wrap:wrap;gap:18px 28px;margin:20px 0}
.sailvan-case .sv-campaign-stats>div{display:flex;flex-direction:column;gap:5px}
.sailvan-case .sv-campaign-stats strong{font-size:28px;color:#09859c;font-weight:500;letter-spacing:-.035em;line-height:1.2}
.sailvan-case .sv-campaign-stats span{font-size:15px;line-height:1.45;color:#646b70}
.sailvan-case .sv-insight-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border:0;border-bottom:1px solid #bcced1;border-radius:0;background:none;font:500 15px/1.4 'DM Sans',Arial,sans-serif;color:#08798e;text-align:left;cursor:pointer}
.sailvan-case .sv-insight-cta:hover{color:#111;border-color:#111}
.sailvan-case .sv-instagram-icon{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:radial-gradient(circle at 28% 105%,#ffda76 0%,#f58529 28%,#dd2a7b 53%,#8134af 77%,#515bd4 100%);padding:3px;box-sizing:border-box}
.sailvan-case .sv-instagram-icon svg{width:100%;height:100%}
.sailvan-case .sv-social-cover{aspect-ratio:375/812;max-width:375px;margin:auto;background:#fff}
.sailvan-case .sv-social-foot{align-items:flex-start;font-size:15px}
.sailvan-case .sv-social-foot>span{max-width:65%}
.campaign-insight-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;padding:42px;width:min(740px,calc(100vw - 48px));height:max-content;max-height:calc(100dvh - 48px);border:0;border-radius:24px;background:#fff;color:#25282c;box-shadow:0 24px 80px #0004;overflow:auto;font:17px/1.7 'DM Sans',Arial,sans-serif}
.campaign-insight-dialog::backdrop{background:#111820b8;backdrop-filter:blur(6px)}
.campaign-insight-dialog .insight-close{position:sticky;float:right;top:0;margin:-20px -20px 0 14px;width:40px;height:40px;border:0;border-radius:50%;background:#f2f4f4;color:#333;font-size:28px;line-height:1;cursor:pointer;z-index:1}
.campaign-insight-dialog h2{margin:0 30px 18px 0;font-size:36px;letter-spacing:-.04em;line-height:1.15;font-weight:500}
.campaign-insight-dialog p{font:inherit;color:#5e666b;margin:18px 0 0}
.campaign-insight-dialog .sv-detail-intro{margin:0 0 26px}
.campaign-insight-dialog .sv-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:26px;background:#eff9fb;border-radius:16px}
.campaign-insight-dialog .sv-detail-metrics>div{display:flex;flex-direction:column;gap:7px;min-width:0}
.campaign-insight-dialog .sv-detail-metrics strong{font-size:32px;color:#087e94;line-height:1.15;font-weight:500;letter-spacing:-.035em}
.campaign-insight-dialog .sv-detail-metrics span{font-size:15px;line-height:1.5;color:#536269}
.campaign-insight-dialog .sv-cost-breakdown{margin:26px 0;display:grid;gap:12px}
.campaign-insight-dialog .sv-cost-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:20px;border-bottom:1px solid #e6ebec;padding-bottom:12px}
.campaign-insight-dialog dt{font-size:16px}.campaign-insight-dialog dd{margin:0;font-size:17px;font-weight:500}
.campaign-insight-dialog .sv-detail-link{display:inline-block;margin-top:24px;color:#087e94;font-size:16px;text-underline-offset:5px}
@media(max-width:600px){
 .sailvan-case .sv-campaign-stats{gap:12px;margin:16px 0}.sailvan-case .sv-campaign-stats strong{font-size:25px}.sailvan-case .sv-campaign-stats span{font-size:14px}
 .sailvan-case .sv-insight-cta{font-size:14px;gap:8px}
 .campaign-insight-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:28px 22px;border-radius:20px;font-size:16px;line-height:1.65}
 .campaign-insight-dialog h2{font-size:29px}.campaign-insight-dialog .insight-close{margin:-16px -10px 0 8px;width:36px;height:36px}
 .campaign-insight-dialog .sv-detail-metrics{padding:22px 18px;gap:22px 16px}.campaign-insight-dialog .sv-detail-metrics strong{font-size:27px}.campaign-insight-dialog .sv-detail-metrics span{font-size:14px}
}

.sailvan-case .sv-meta-mark{position:relative;display:block;width:110px;height:28px;overflow:hidden;flex-shrink:0}.sailvan-case .sv-meta-mark img{position:absolute;max-width:none;max-height:none;width:232px;height:auto;left:-61px;top:-53px;mix-blend-mode:multiply}

/* MASOBU uses the shared Tiffany UI palette; brand artwork retains its original colors. */
.masobu-v2.ms-v4{--ms-accent:#09859c;--ms-bright:#35c3d7;--ms-ink:#24282b;--ms-muted:#646b70;--mt1-accent:#09859c;--ms-line:#d9e1e2}
.masobu-v2.ms-v4 :is(h1,h2,h3,h4){color:#24282b}
.masobu-v2.ms-v4 :is(p,li,.ms-feature-copy p,.ms-role-card p){color:#646b70}
.masobu-v2.ms-v4 :is(.ms-eyebrow,.ms-art-label,.ms-character-title,.ms-text-link,.ms-feature-open,.ms-progress-count,.ms-chapter-number,.mt1-divider>span,.ms-stat-trio strong,.ms-result-pair strong,.ms-price-results strong,.ms-creator-funding strong,.ms-library-numbers strong,.ms-equation-label,.ms-brand-equation,.ms-result-bars b){color:#09859c!important}
.masobu-v2.ms-v4 :is(.ms-role-card svg,.ms-sheet-buttons svg){color:#09859c;stroke:#09859c}
.masobu-v2.ms-v4 :is(.ms-gallery-progress i,.ms-result-bars i){background:linear-gradient(90deg,#35c3d7,#35c3d7)}
.masobu-v2.ms-v4 .ms-gallery-progress{background:#e4eef0}
.masobu-v2.ms-v4 .ms-metric-categories button[aria-pressed=true],.masobu-v2.ms-v4 .ms-system-tabs button[aria-selected=true]{color:#08798e;background:#effbfc}
.masobu-v2.ms-v4 .ms-card-action{display:flex;justify-content:center;text-align:center;background:#08798e;color:#fff!important;font-weight:500;box-shadow:0 4px 14px #09859c22}
.masobu-v2.ms-v4 .ms-card-action:hover{background:#066b7e;color:#fff!important}
.masobu-v2.ms-v4 .ms-card-action span{display:none}
.masobu-v2.ms-v4 .ms-intersection div{border-color:#b6e1e8;background:#f1fbfc;color:#08798e}
.masobu-v2.ms-v4 .ms-intersection div:nth-child(2){background:#f1fbfc;border-color:#b6e1e8}
.masobu-v2.ms-v4 .ms-intersection span{color:#35c3d7}
.masobu-v2.ms-v4 .ms-performance{margin-top:38px;padding:30px;border-radius:24px;background:linear-gradient(115deg,#fff,#f3fafb);box-shadow:0 6px 24px #153b4508}
.masobu-v2.ms-v4 .ms-performance-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.masobu-v2.ms-v4 .ms-performance-heading h3{font:500 26px/1.2 'DM Sans',Arial,sans-serif;margin:0;letter-spacing:-.03em}
.masobu-v2.ms-v4 .ms-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px}
.masobu-v2.ms-v4 .ms-performance-grid>div{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:104px;padding:10px 0;box-sizing:border-box}
.masobu-v2.ms-v4 .ms-performance-grid strong{font:500 39px/1.12 'DM Sans',Arial,sans-serif;letter-spacing:-.045em;color:#09859c}
.masobu-v2.ms-v4 .ms-performance-grid span{font:400 15px/1.5 'DM Sans',Arial,sans-serif;color:#646b70}
.masobu-v2.ms-v4 .ms-performance-primary strong{color:#09859c}
.masobu-v2.ms-v4 .ms-performance-grid strong{font-size:40px!important}
.masobu-v2.ms-v4 :is(.ms-exchange strong,.ms-points-bonus strong,.ms-creator-outreach strong,.ms-creator-links a,.ms-migration-card a){color:#09859c!important}
.masobu-v2.ms-v4 .ms-exchange>span{color:#35c3d7}
.masobu-v2.ms-v4 :is(.ms-gallery-nav,.ms-data-pair span,.ms-data-fraction span,.ms-creator-outreach span,.ms-creator-funding span,.ms-creator-funding-heading span,.ms-game-label span,.ms-ip-credit span,.ms-creator-showcase figcaption,.ms-creator-showcase figcaption span,.ms-creator-showcase figcaption strong){color:#646b70!important}
.masobu-v2.ms-v4 .ms-sheet-buttons button,.masobu-v2.ms-v4 .ms-sheet-buttons button span,.masobu-v2.ms-v4 .ms-sheet-buttons button strong{color:#24282b!important}
@media(max-width:760px){.masobu-v2.ms-v4 .ms-performance{padding:24px;margin-top:24px}.masobu-v2.ms-v4 .ms-performance-heading{display:block}.masobu-v2.ms-v4 .ms-performance-heading h3{font-size:25px;margin-top:8px}.masobu-v2.ms-v4 .ms-performance-grid{grid-template-columns:1fr 1fr;gap:12px 20px}.masobu-v2.ms-v4 .ms-performance-grid strong{font-size:32px}.masobu-v2.ms-v4 .ms-performance-grid span{font-size:15px}.masobu-v2.ms-v4 .ms-performance-grid>div{min-height:104px}}
@media(max-width:760px){.masobu-v2.ms-v4 .ms-performance-grid strong{font-size:32px!important}}
