/* MASTER PDV — a product story within the Master Digital identity. */
.lang-flag:empty { display:none; }
.nav-menu { gap:20px; }
.nav-pdv { color:var(--accent); white-space:nowrap; }
.hero-pdv-link { display:inline-flex; gap:18px; align-items:center; font-size:12px; color:var(--accent); margin-top:25px; }
.hero-pdv-link span:last-child { transition:transform .3s var(--ease); }
.hero-pdv-link:hover span:last-child { transform:translate(3px,-3px); }
.pdv-launch { padding-block:42px 82px; }
.pdv-launch-top { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:9px; letter-spacing:.15em; margin-bottom:20px; }
.pdv-new { color:#e3c272; font-size:10px; font-weight:500; letter-spacing:.1em; border:1px solid rgba(227,194,114,.27); border-radius:999px; padding:7px 13px; }
[data-theme="light"] .pdv-new { color:#856016; border-color:rgba(133,96,22,.25); }
.pdv-campaign { position:relative; border:1px solid var(--line); border-radius:28px; overflow:hidden; background:radial-gradient(ellipse at 86% 55%,rgba(0,119,182,.18),transparent 64%),var(--surface); }
.pdv-campaign-art { display:block; }
.pdv-campaign-art picture,.pdv-campaign-art img { width:100%; height:auto; }
.pdv-campaign-art img { aspect-ratio:8/3; object-fit:contain; }
.pdv-campaign-fallback { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:30px; min-height:390px; padding:56px 60px; }
.pdv-campaign.has-art .pdv-campaign-fallback { display:none; }
.pdv-campaign-copy h2 { font-size:clamp(34px,4.2vw,56px); max-width:480px; }
.pdv-campaign-copy p { max-width:440px; color:var(--secondary); font-size:13px; margin-top:22px; line-height:1.8; }
.pdv-campaign-copy .eyebrow { margin-bottom:18px; }
.pdv-campaign-mark { justify-self:center; position:relative; text-align:left; font-family:'Space Grotesk',sans-serif; line-height:1; letter-spacing:-.05em; }
.pdv-campaign-mark:before { content:''; position:absolute; inset:-60px -50px; border:1px solid var(--ring); border-radius:50%; transform:rotate(-25deg); pointer-events:none; }
.pdv-campaign-mark:after { content:''; position:absolute; inset:-20px -85px; border:1px solid var(--line); border-radius:50%; transform:rotate(24deg); pointer-events:none; }
.pdv-campaign-mark>span { font-size:34px; font-weight:400; letter-spacing:.03em; }
.pdv-campaign-mark>b { display:block; font-size:clamp(75px,10vw,132px); font-weight:500; color:var(--accent); }
.pdv-campaign-mark small { font:400 8px/2 Inter,sans-serif; letter-spacing:.2em; color:var(--secondary); display:block; margin-top:12px; }
.pdv-mark-dot { display:inline-block; width:12px; height:12px; border-radius:50%; background:#e3c272; margin-left:7px; }
.pdv-launch-bottom { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:25px; }
.pdv-launch-bottom>p { color:var(--secondary); font-size:12px; max-width:350px; }
.pdv-launch-bottom .cta-group { margin:0; flex-shrink:0; }
.sales-paths { border-top:1px solid var(--line); padding-block:82px; }
.sales-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.sales-path { display:flex; flex-direction:column; padding-top:26px; border-top:1px solid var(--line); }
.sales-path-number { color:var(--muted); font-size:10px; margin-bottom:20px; }
.sales-path h3 { font-size:27px; }
.sales-path p { font-size:12px; color:var(--secondary); margin:17px 0 23px; }
.pdv-text-link { font-size:11px; font-weight:500; color:var(--accent); display:inline-block; text-decoration:underline; text-decoration-color:var(--ring); text-underline-offset:5px; }
.sales-path .pdv-text-link { margin-top:auto; }
.pdv-quote { border-top:1px solid var(--line); background:linear-gradient(145deg,rgba(0,119,182,.075),transparent 70%); }
.pdv-quote-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:80px; }
.pdv-quote-intro h2 { font-size:clamp(37px,4.4vw,54px); max-width:500px; }
.pdv-quote-intro>p { color:var(--secondary); font-size:14px; line-height:1.9; margin-top:24px; max-width:420px; }
.pdv-quote-points { margin:30px 0; }
.pdv-quote-points p { color:var(--secondary); font-size:12px; padding:13px 0; border-bottom:1px solid var(--line); }
.pdv-contact-number { font-size:12px; color:var(--accent); }
.pdv-reviews { border-top:1px solid var(--line); }
.pdv-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:30px; }
.pdv-review-card { border:1px solid var(--line); border-radius:20px; padding:30px; background:var(--card); }
.pdv-review-card blockquote { font-family:'Space Grotesk',sans-serif; font-size:23px; line-height:1.5; letter-spacing:-.025em; }
.pdv-review-card figcaption { margin-top:25px; font-size:11px; color:var(--secondary); }
.pdv-review-card figcaption strong { color:var(--text); display:block; font-weight:500; }
.pdv-review-rating { font-size:10px; letter-spacing:.06em; color:var(--accent); display:block; margin-bottom:20px; }
.pdv-review-print { border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--surface); }
.pdv-review-print img { width:100%; height:auto; object-fit:contain; }
.pdv-review-bottom { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:22px; border-top:1px solid var(--line); }
.pdv-review-bottom p { font-size:12px; color:var(--secondary); }
/* Dedicated product page */
body[data-page="pdv"] { overflow-x:clip; }
.pdv-subnav { position:sticky; top:88px; z-index:70; margin-top:88px; border-block:1px solid var(--line); background:var(--glass); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.pdv-subnav>.container { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:54px; }
.pdv-subnav-name { font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:500; letter-spacing:-.03em; }
.pdv-subnav>.container>div { display:flex; align-items:center; gap:25px; }
.pdv-subnav a { font-size:11px; }
.pdv-subnav a.pdv-subnav-name { font-size:16px; }
.pdv-subnav-quote { background:var(--btn); color:var(--btn-text); border-radius:999px; padding:7px 15px; }
body[data-page="pdv"] section { scroll-margin-top:70px; }
.pdv-hero { padding-top:85px; padding-bottom:70px; overflow:clip; }
.pdv-hero-copy { text-align:center; max-width:920px; margin-inline:auto; position:relative; z-index:2; }
.pdv-product-logo:has(img[hidden]) { display:none; }
.pdv-product-logo img { width:200px; height:54px; object-fit:contain; margin:0 auto 24px; }
.pdv-hero h1 { font-size:clamp(45px,7.5vw,92px); font-weight:500; line-height:1.04; letter-spacing:-.06em; }
.pdv-hero h1>span { display:block; }
.pdv-hero h1>span+span { margin-top:10px; }
.pdv-hero-desc { color:var(--secondary); max-width:600px; margin:30px auto 0; font-size:16px; line-height:1.85; }
.pdv-hero-copy .cta-group { justify-content:center; }
.pdv-hero-note { color:var(--muted); font-size:10px; margin-top:20px; }
.pdv-hero-device { width:min(990px,100%); margin:65px auto 0; transform-origin:center center; perspective:1600px; }
.pdv-screen { border:1px solid rgba(157,193,238,.24); border-radius:16px; overflow:hidden; background:var(--surface); box-shadow:0 35px 100px rgba(0,0,0,.24); }
[data-theme="light"] .pdv-screen { box-shadow:0 24px 80px rgba(0,50,90,.12); }
.pdv-screen-bar { height:28px; display:flex; align-items:center; gap:5px; padding:0 13px; background:var(--soft); border-bottom:1px solid var(--line); }
.pdv-screen-bar>span { display:block; width:5px; height:5px; border-radius:50%; background:var(--muted); opacity:.4; }
.pdv-screen-bar>b { margin-left:auto; font:400 7px/1 Inter,sans-serif; letter-spacing:.15em; color:var(--muted); }
.pdv-screen-body { position:relative; aspect-ratio:8/5; background:radial-gradient(ellipse at 50% 80%,rgba(0,119,182,.2),transparent 65%),var(--surface); }
.pdv-screen-body img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; }
.has-image .pdv-screen-body img { opacity:1; }
.pdv-screen-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:30px; text-align:center; }
.has-image .pdv-screen-fallback { display:none; }
.pdv-wordmark { font-family:'Space Grotesk',sans-serif; font-size:clamp(26px,3.5vw,50px); letter-spacing:-.05em; font-weight:400; }
.pdv-wordmark b { font-weight:500; color:var(--accent); }
.pdv-screen-fallback p { font-size:11px; color:var(--secondary); margin-top:17px; max-width:330px; }
.pdv-screen-rule { height:1px; background:linear-gradient(90deg,transparent,var(--accent),transparent); width:65%; margin-top:32px; opacity:.35; }
.pdv-screen-signature { font-size:6px; letter-spacing:.2em; color:var(--muted); margin-top:17px; }
.pdv-hero-rail { display:flex; justify-content:center; gap:44px; margin-top:35px; color:var(--secondary); font-size:11px; }
.pdv-hero-rail span+span { border-left:1px solid var(--line); padding-left:44px; }
.pdv-story { padding-block:65px; border-block:1px solid var(--line); }
.pdv-story-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:45px; }
.pdv-story-heading h2 { font-size:25px; }
.pdv-story-controls { display:none; gap:6px; align-items:center; }
.pdv-story-controls button { border:1px solid transparent; background:transparent; font-size:10px; padding:9px 15px; color:var(--muted); border-radius:999px; }
.pdv-story-controls button[aria-pressed="true"] { color:var(--accent); border-color:var(--ring); background:var(--card); }
.pdv-scene { display:grid; grid-template-columns:.8fr 1.25fr; gap:70px; align-items:center; padding-block:40px; }
.pdv-chapter { font-size:9px; letter-spacing:.15em; color:var(--accent); display:block; margin-bottom:24px; }
.pdv-scene h3 { font-size:clamp(33px,3.6vw,48px); line-height:1.12; }
.pdv-scene-copy>p { color:var(--secondary); font-size:13px; margin-top:24px; line-height:1.85; }
.pdv-scene-copy>p.pdv-scene-list { font-size:10px; color:var(--muted); padding-top:21px; border-top:1px solid var(--line); }
.pdv-scene-copy .pdv-text-link { margin-top:24px; }
.pdv-scene-visual { min-width:0; }
.pdv-story-progress { display:none; height:1px; margin-top:30px; background:var(--line); }
.pdv-story-progress>span { display:block; height:1px; background:var(--accent); transform:scaleX(var(--story-progress,0)); transform-origin:left; }
/* Pinning is enabled only by JS on a sufficiently large viewport. Static content is the default. */
.pdv-story.is-pinned { height:310vh; height:310svh; padding-block:0; }
.pdv-story.is-pinned .pdv-story-stage { position:sticky; top:155px; height:calc(100svh - 175px); max-height:870px; min-height:480px; padding:28px 0 18px; display:flex; flex-direction:column; }
.pdv-story.is-pinned .pdv-story-heading { margin-bottom:25px; }
.pdv-story.is-pinned .pdv-story-controls,.pdv-story.is-pinned .pdv-story-progress { display:flex; }
.pdv-story.is-pinned .pdv-scenes { position:relative; flex:1; min-height:0; }
.pdv-story.is-pinned .pdv-scene { position:absolute; inset:0; padding:0; opacity:var(--scene-opacity,0); transform:translateY(var(--scene-y,0px)); pointer-events:none; }
.pdv-story.is-pinned .pdv-scene.is-active { pointer-events:auto; }
.pdv-story.is-pinned .pdv-scene-visual { transform:perspective(1300px) rotateY(var(--scene-rotate,0deg)) scale(var(--scene-scale,1)); transform-origin:center; }
.pdv-story.is-pinned .pdv-scene .pdv-screen { max-height:calc(100svh - 320px); }
.pdv-story.is-pinned .pdv-screen-body { max-height:calc(100svh - 348px); }
.pdv-features { padding-block:95px; }
.pdv-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 45px; }
.pdv-feature { padding:30px 0; border-top:1px solid var(--line); }
.pdv-feature-number { color:var(--muted); font-size:9px; display:block; margin-bottom:23px; }
.pdv-feature h3 { font-size:25px; }
.pdv-feature p { margin-top:16px; color:var(--secondary); font-size:12px; line-height:1.85; }
.pdv-detail { background:var(--card); border-block:1px solid var(--line); }
.pdv-detail-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.pdv-detail h2 { font-size:clamp(34px,4vw,49px); }
.pdv-detail p { margin-top:25px; font-size:13px; color:var(--secondary); line-height:1.85; }
.pdv-detail .btn { margin-top:25px; }
.pdv-section-center { max-width:750px; margin:auto; text-align:center; }
.pdv-section-center h2 { font-size:clamp(34px,4.7vw,56px); }
.pdv-section-center p { color:var(--secondary); max-width:590px; font-size:14px; line-height:1.85; margin:25px auto 0; }
.pdv-segment-list { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:40px; }
.pdv-segment-list>span { border:1px solid var(--line); border-radius:999px; padding:11px 17px; color:var(--secondary); font-size:11px; }
.pdv-faq { border-top:1px solid var(--line); }
.pdv-faq-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:90px; }
.pdv-faq h2 { font-size:44px; }
.pdv-faq details { border-top:1px solid var(--line); padding:23px 0; }
.pdv-faq details:last-child { border-bottom:1px solid var(--line); }
.pdv-faq summary { cursor:pointer; font-family:'Space Grotesk',sans-serif; font-size:19px; padding-right:30px; list-style:none; position:relative; }
.pdv-faq summary::-webkit-details-marker { display:none; }
.pdv-faq summary:after { content:'+'; position:absolute; right:0; top:0; font:300 23px/1 Inter,sans-serif; color:var(--muted); }
.pdv-faq details[open] summary:after { content:'−'; }
.pdv-faq details>p { font-size:12px; color:var(--secondary); margin-top:16px; line-height:1.9; max-width:570px; }
@media(min-width:941px) and (max-width:1120px) {
  .nav-menu { gap:13px; }.nav-wrapper { gap:20px; }.header-utils { gap:8px; }.brand-image { width:132px; }
  .pdv-scene { gap:40px; }.pdv-scene h3 { font-size:37px; }
}
@media(max-width:940px) {
  .nav-menu { gap:0; }.nav-pdv { font-size:26px; }
  .pdv-subnav { top:76px; margin-top:76px; }
  .pdv-quote-layout { gap:40px; }.pdv-campaign-fallback { padding:45px 35px; }
  .pdv-scene { gap:35px; }.pdv-detail-grid { gap:40px; }
  .pdv-story.is-pinned .pdv-story-stage { top:143px; height:calc(100svh - 163px); }
}
@media(max-width:760px) {
  .pdv-launch { padding-block:35px 60px; }.pdv-launch-top>span:last-child { font-size:7px; letter-spacing:.1em; }
  .pdv-campaign-fallback { grid-template-columns:1fr; padding:37px 30px; min-height:0; gap:45px; }
  .pdv-campaign-copy h2 { font-size:39px; }.pdv-campaign-copy p { font-size:12px; }
  .pdv-campaign-mark { margin:20px 0; }.pdv-campaign-mark>span { font-size:26px; }.pdv-campaign-mark>b { font-size:95px; }
  .pdv-campaign-mark:before { inset:-22px -35px; }.pdv-campaign-mark:after { inset:0 -53px; }
  .pdv-launch-bottom { flex-direction:column; align-items:flex-start; gap:18px; }
  .pdv-launch-bottom .cta-group { width:100%; }.pdv-launch-bottom .btn { flex:1; gap:0; padding-inline:14px; font-size:11px; }
  .sales-paths { padding-block:60px; }.sales-path-grid { grid-template-columns:1fr; gap:25px; }
  .sales-path { padding-top:22px; }.sales-path-number { margin-bottom:15px; }.sales-path h3 { font-size:29px; }
  .sales-path p { max-width:450px; }.sales-path .pdv-text-link { margin-top:0; }
  .pdv-quote-layout { grid-template-columns:1fr; gap:30px; }.pdv-quote-intro h2 { font-size:40px; }
  .pdv-quote-intro>p { font-size:13px; }.pdv-quote-points { margin:20px 0; }
  .pdv-review-grid { grid-template-columns:1fr; }.pdv-review-bottom { flex-direction:column; align-items:flex-start; gap:15px; }
  .pdv-hero { padding-top:55px; }.pdv-hero h1 { font-size:clamp(42px,8vw,65px); }.pdv-hero-desc { font-size:14px; margin-top:24px; }
  .pdv-hero-copy .eyebrow { font-size:8px; letter-spacing:.13em; }.pdv-hero-copy .cta-group { gap:12px; }
  .pdv-hero-copy .btn { padding-inline:17px; font-size:11px; }.pdv-hero-note { font-size:9px; }
  .pdv-hero-device { margin-top:45px; }.pdv-hero-rail { gap:18px; font-size:9px; }.pdv-hero-rail span+span { padding-left:18px; }
  .pdv-story { padding-block:45px; }.pdv-story-heading { margin-bottom:15px; }.pdv-story-heading h2 { font-size:24px; }
  .pdv-scene { grid-template-columns:1fr; gap:28px; padding-block:35px; }.pdv-scene+.pdv-scene { border-top:1px solid var(--line); }
  .pdv-scene h3 { font-size:38px; max-width:500px; }.pdv-chapter { margin-bottom:19px; }.pdv-scene-copy>p { margin-top:20px; }
  .pdv-scene-copy .pdv-text-link { margin-top:20px; }.pdv-screen { border-radius:12px; }.pdv-screen-bar { height:23px; }
  .pdv-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; }.pdv-features { padding-block:65px; }.pdv-feature h3 { font-size:23px; }
  .pdv-detail-grid { grid-template-columns:1fr; gap:35px; }.pdv-detail h2 { font-size:39px; }.pdv-section-center h2 { font-size:40px; }
  .pdv-section-center p { font-size:13px; }.pdv-faq-layout { grid-template-columns:1fr; gap:30px; }.pdv-faq h2 { font-size:40px; }
  .pdv-subnav>.container>div { gap:15px; }.pdv-subnav a { font-size:10px; }
}
@media(max-width:480px) {
  .pdv-campaign { border-radius:20px; }.pdv-campaign-copy h2 { font-size:35px; }.pdv-launch-top { gap:10px; }
  .pdv-launch-bottom .cta-group { flex-direction:column; align-items:stretch; }
  .pdv-hero-copy .cta-group { flex-direction:column; align-items:stretch; width:100%; }
  .pdv-hero h1 { font-size:44px; }.pdv-hero-rail { gap:10px; font-size:8px; }.pdv-hero-rail span+span { padding-left:10px; }
  .pdv-hero-note { max-width:260px; margin:20px auto 0; }.pdv-hero { padding-bottom:45px; }
  .pdv-feature-grid { grid-template-columns:1fr; }.pdv-feature { padding-block:25px; }.pdv-feature-number { margin-bottom:15px; }
  .pdv-quote-intro h2 { font-size:36px; }.pdv-review-card { padding:24px; }.pdv-review-card blockquote { font-size:21px; }
  .pdv-screen-fallback { padding:15px; }.pdv-screen-fallback p { font-size:10px; max-width:230px; }.pdv-screen-rule { margin-top:18px; }
  .pdv-subnav a.pdv-subnav-name { font-size:13px; }.pdv-subnav>.container>div { gap:12px; }.pdv-subnav-quote { padding:6px 11px; }
  .pdv-scene h3 { font-size:34px; }.pdv-faq summary { font-size:18px; }.pdv-segment-list { gap:8px; }.pdv-segment-list>span { padding:9px 13px; font-size:10px; }
}
@media(max-width:680px) { .pdv-campaign-art img { aspect-ratio:4/5; } }
.pdv-campaign.uses-desktop .pdv-campaign-art img { aspect-ratio:8/3; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }.pdv-hero-device,.pdv-scene-visual { transform:none!important; }
}
@media print {
  .pdv-subnav { display:none; }.pdv-hero { padding-top:20px; }
  .pdv-story.is-pinned { height:auto; }.pdv-story.is-pinned .pdv-story-stage { position:static; height:auto; max-height:none; }
  .pdv-story.is-pinned .pdv-scene { position:static; opacity:1; transform:none; }
  .pdv-story-controls,.pdv-story-progress { display:none!important; }
}
