.cw-interests{border:1px solid #bec9d8;border-radius:12px;padding:12px;margin:16px 0;display:flex;flex-wrap:wrap;gap:12px}.cw-interests label{display:flex;align-items:center;gap:6px}.cw-interests input,input[name=consent]{width:auto;display:inline-block}.article-prose img{max-width:100%;height:auto}.article-prose h2,.article-prose h3{margin-top:1.8em}.article-prose p{line-height:1.8}.portrait-card video{object-fit:contain;background:#081727}.portrait-label{pointer-events:none}#request-status{color:#ffb0bf}.article-prose a{text-decoration:underline}
.cw-pagination{display:flex;justify-content:center;gap:2rem;margin:2rem auto}.cw-pagination a{text-decoration:underline}
.cw-preview-note{padding:12px 6%;background:#173258;color:#edf3fb;font-size:14px}
footer>*{min-width:0}footer nav{flex-wrap:wrap}footer a{overflow-wrap:anywhere}
.cw-interests label{margin:4px 0}#request-form .cw-consent{display:flex;align-items:flex-start;gap:10px}#request-form .cw-consent input{width:16px;height:16px;flex:0 0 16px;margin:3px 0 0;padding:0}#request-form .cw-consent span{min-width:0;line-height:1.7}
.cw-consent a{text-decoration:underline;text-underline-offset:3px}
.cw-legal{max-width:960px;margin:auto}.cw-legal h2{margin-top:2em;font-size:clamp(1.3rem,3vw,2rem)}.cw-legal p{line-height:1.8}.cw-legal a{text-decoration:underline}.cw-legal table{width:100%;border-collapse:collapse;table-layout:fixed}.cw-legal th,.cw-legal td{text-align:left;vertical-align:top;border-bottom:1px solid #8493ac;padding:12px;overflow-wrap:anywhere}@media(max-width:600px){.cw-legal th,.cw-legal td{padding:6px;font-size:.85rem}}
/* Compact language control shares the existing header without changing its design. */
.cw-language{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;font-size:12px}
.cw-language a{padding:7px 3px;text-decoration:none;color:inherit}
.cw-language a[aria-current=true]{border-bottom:2px solid #3478ff;font-weight:700}
@media(max-width:600px){.cw-language{gap:4px;font-size:11px}.cw-language a{padding:5px 2px}}

/* Seamless hero portrait: no card/player chrome, soft falloff on every edge. */
.about-hero .portrait-card{background:transparent;box-shadow:none;mask-image:radial-gradient(ellipse 55% 58% at 50% 48%,#000 35%,#000b 58%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 55% 58% at 50% 48%,#000 35%,#000b 58%,transparent 85%)}.about-hero .portrait-card:hover,.about-hero .portrait-card:focus-within{transform:none}.about-hero .portrait-card video{object-fit:cover;background:transparent}.about-hero .portrait-label,.about-hero .portrait-video-controls{display:none!important}

/* Preserve the supplied 16:9 composition, including hands and floating icons. */
.about-hero .portrait-card{inset:auto 0;top:50%;width:100%;max-width:none;height:auto;aspect-ratio:16/9;transform:translateY(-50%);mask-image:none;-webkit-mask-image:none;overflow:visible}
.about-hero .portrait-card:hover,.about-hero .portrait-card:focus-within{transform:translateY(-50%)}
.about-hero .portrait-card video,.about-hero .portrait-card img{width:100%;height:100%;object-fit:contain;object-position:center;background:transparent;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in}
@media(max-width:760px){.about-hero .portrait-stage{min-height:0;aspect-ratio:16/9;margin:12px 0 24px}}
/* V21 package demos: keep each link in its card's colour family. */
.p12-card[data-plan="website"]{--demo-bg:#183e34;--demo-border:#91c7ae;--demo-text:#e2f6e9}
.p12-card[data-plan="booking"]{--demo-bg:#47371e;--demo-border:#d5b77c;--demo-text:#fff0cd}
.p12-card[data-plan="ai"]{--demo-bg:#3b294e;--demo-border:#bba0d3;--demo-text:#f3e7ff}
.p12-footer .p21-demo{display:flex;width:100%;box-sizing:border-box;justify-content:center;min-height:46px;background:var(--demo-bg);border:1px solid var(--demo-border);color:var(--demo-text);text-decoration:none;box-shadow:none}
.p12-footer .p21-demo:hover{filter:brightness(1.18)}
.p12-footer .p21-demo:focus-visible{outline:2px solid var(--demo-text);outline-offset:4px}
.p12-footer .p21-demo{font-size:15px;line-height:1.35;font-weight:600}

/* Independent price faces and card-contained mobile actions. */
.p12-grid{align-items:stretch}
.p12-card.is-flipped .p12-back{position:relative;inset:auto;grid-area:1/1;height:auto}
.p12-card.is-flipped .p12-front{position:absolute;inset:0}
#sound-dock{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #819cb477;border-radius:16px;background:#0b1c30ee;box-shadow:0 5px 24px #0005;color:#e1ecf6;backdrop-filter:blur(12px)}
#sound-dock #sound{position:static;margin:0;min-height:40px}
#sound-dock label{display:flex;align-items:center;gap:8px;font-size:12px}
#music-volume{width:90px;accent-color:#b2cfe8;cursor:pointer}
@media(max-width:760px){
.p12-card .p12-footer{position:sticky!important;bottom:78px;z-index:5;gap:8px;padding:10px!important;box-shadow:0 -5px 20px #0004}
.p12-footer .p12-apply,.p12-footer .p21-demo{min-height:44px;padding:10px;font-size:14px!important}
#sound-dock{right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:6px 10px;gap:8px;max-width:calc(100vw - 20px)}
#sound-dock #sound-label{font-size:12px}
#music-volume{width:72px}
}

@media(max-width:760px){.p12-card .p12-footer{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.p12-footer .p12-reveal{grid-column:1/-1;text-align:center}.p12-footer .p12-apply,.p12-footer .p21-demo{width:100%;font-size:13px!important;padding:10px 6px}}

/* Shared desktop geometry; the individual flip state remains independent. */
.p21-badge-slot{height:110px;display:flex;align-items:center;flex-shrink:0}
.p12-front .p21-badge-slot .discount16.compact{margin:8px 5px!important}
.p12-front h3{min-height:76px!important}
.p12-front .p12-art{height:275px!important;flex-shrink:0}
#sound-dock #motion{position:static;flex-shrink:0;width:auto;min-width:42px;margin:0}
#sound-dock .motion-control{display:flex;align-items:center;gap:4px;font-size:11px}
@media(max-width:760px){#sound-dock{flex-wrap:wrap;justify-content:flex-end;max-width:330px}.p12-card .p12-footer{bottom:112px}.p21-badge-slot:empty{display:none}.p12-front h3{min-height:0!important}}

/* Compact audio controls, identical on desktop and mobile. */
#sound-dock{width:auto!important;max-width:none!important;min-height:0!important;flex-wrap:nowrap!important;gap:2px!important;padding:4px!important;border-radius:28px!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
#sound-dock #sound,#sound-dock #music-volume-toggle,#sound-dock #motion{display:grid!important;place-items:center!important;position:static!important;box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#d7e7fb!important;font-size:18px!important;line-height:1!important;cursor:pointer}
#sound-dock button:hover{background:#ffffff18!important}#sound-dock button:focus-visible{outline:2px solid #b2cfe8;outline-offset:-3px}
#sound-dock #music-options{position:absolute;right:0;bottom:calc(100% + 8px);display:flex;align-items:center;gap:8px;padding:6px 12px;background:#0b1c30f5;border:1px solid #819cb477;border-radius:24px;box-shadow:0 5px 24px #0005}
#sound-dock #music-options[hidden]{display:none!important}#sound-dock #music-volume{width:100px!important;height:32px;margin:0;padding:0;accent-color:#b2cfe8}#sound-dock #motion span{display:none}
@media(max-width:760px){.p12-card .p12-footer{bottom:74px}}
/* Mobile video discount: readable horizontal badge, then price and action. */
@media(max-width:760px){
.p12-video-offer .p12-video-price{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;width:100%;min-width:0}
.p12-video-offer .p12-video-price>.discount16{position:static!important;grid-column:1/-1;display:flex!important;align-items:center;justify-content:flex-start!important;gap:12px!important;width:100%!important;max-width:none!important;box-sizing:border-box;transform:none!important;margin:0!important;padding:12px 14px!important;border-radius:16px!important;white-space:normal!important;min-height:0!important;height:auto!important}
.p12-video-offer .p12-video-price>.discount16>b{font-size:30px!important;flex:0 0 auto;line-height:1.1!important}
.p12-video-offer .p12-video-price>.discount16>span{min-width:0;flex:1;font-size:12px!important;line-height:1.4!important;text-align:left!important}
.p12-video-offer .p12-video-price>.discount16 small{display:inline!important;font-size:11px!important;line-height:1.4!important}
.p12-video-offer .p12-video-price>strong{font-size:24px!important;padding:12px 8px!important;text-align:center;align-self:center}
.p12-video-offer .p12-video-price>strong small{font-size:10px!important}
.p12-video-offer .p12-video-price>.button{padding:12px 8px!important;min-width:0;font-size:13px!important;text-align:center;justify-content:center;align-self:center}
}

/* Reset inherited grid rows as well as columns: no overlapping offer items. */
@media(max-width:760px){.p12-video-offer .p12-video-price>.discount16{grid-area:1 / 1 / 2 / -1!important;align-self:stretch!important}.p12-video-offer .p12-video-price>strong{grid-area:2 / 1 / 3 / 2!important}.p12-video-offer .p12-video-price>.button{grid-area:2 / 2 / 3 / 3!important}}

/* Company information opens on demand from the footer. */
.cw-company-trigger{align-self:start;text-align:left}
#cw-company-dialog{box-sizing:border-box;width:min(540px,calc(100% - 32px));max-height:85dvh;margin:auto;padding:32px;border:1px solid #647c9c;border-radius:20px;background:#0e1b2e;color:#edf3ff;box-shadow:0 24px 90px #0009;overflow:auto}
#cw-company-dialog::backdrop{background:#030b18bb;backdrop-filter:blur(6px)}
#cw-company-dialog h2{font-size:clamp(22px,5vw,30px);line-height:1.2;margin:0 30px 22px 0}
#cw-company-dialog p{font-size:15px;line-height:1.8;margin-bottom:22px}
#cw-company-dialog nav{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
#cw-company-dialog a{color:#c4d8ff;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
#cw-company-dialog .cw-company-close{position:absolute;top:10px;right:12px;width:40px;height:40px;padding:0;border:0;background:transparent;color:#edf3ff;font-size:30px;cursor:pointer}
#cw-company-dialog :focus-visible{outline:2px solid #b9d1ff;outline-offset:4px}

/* Explicit foreground planes prevent animated decoration covering actions. */
.contact-banner13>.button{position:relative!important;z-index:4!important;transform:translateZ(0);isolation:isolate;backface-visibility:hidden}
.contact-banner13>.contact-ribbons15,.contact-banner13>.flow-lines16,.contact-banner13:after{pointer-events:none!important}
@media(max-width:760px){
 header,#sound-dock{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:#0b1828!important}
 footer{padding-bottom:90px!important}
 footer [data-company-info]{white-space:normal;max-width:100%}
}

/* Android: keep the resting document flat; animate only the face being turned. */
.cw-android .cw-compact-pricing .p12-card{perspective:none!important;isolation:isolate;background:linear-gradient(145deg,var(--plan-base),var(--plan-deep));border-radius:18px;overflow:hidden}
.cw-android .cw-compact-pricing .p12-card .p12-rotor{transform:none!important;transform-style:flat!important;transition:none!important}
.cw-android .cw-compact-pricing .p12-card .p12-face{transform:none;backface-visibility:visible!important;-webkit-backface-visibility:visible!important;transition:none!important}
.cw-android .cw-compact-pricing .p12-card .p12-front{visibility:visible}
.cw-android .cw-compact-pricing .p12-card .p12-back{visibility:hidden;pointer-events:none}
.cw-android .cw-compact-pricing .p12-card.is-flipped .p12-front{visibility:hidden;pointer-events:none}
.cw-android .cw-compact-pricing .p12-card.is-flipped .p12-back{visibility:visible;pointer-events:auto}
.cw-android .cw-compact-pricing .p12-card .p12-footer,.cw-android .cw-compact-pricing .p12-footer>.button{transform:none!important;backface-visibility:visible;isolation:auto}
.cw-android .cw-compact-pricing .back-pane{overscroll-behavior:auto;touch-action:pan-y pinch-zoom}
/* Decorative filters must not put a full card/banner and its controls in a GPU surface. */
.cw-android .flow-lines16,.cw-android .p15-offer-lines{filter:none!important}
.cw-android .p12-grid .button,.cw-android .p12-video-offer .button{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.cw-android .contact-banner13>.button{transform:none!important;backface-visibility:visible;isolation:auto}
.cw-android .contact-banner13,.cw-android .p12-video-offer{isolation:isolate;position:relative;overflow:hidden}
.cw-android .media-surface13{isolation:isolate;overflow:hidden!important;pointer-events:none}
.cw-android .media-surface13 video{pointer-events:none;object-fit:cover}
.cw-android .contact-banner13>.contact-copy13,.cw-android .contact-banner13>.button{position:relative;z-index:4!important}
.cw-android .media-surface13>video{display:none!important}
.cw-android .media-surface13>.android-video-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0}
.cw-android .media-surface13.video-ready>.android-video-frame{opacity:1}
.cw-android .p15-icon-surface>.android-video-frame{object-fit:contain;mask-image:radial-gradient(ellipse 74% 68% at center,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 74% 68% at center,#000 58%,transparent 100%)}
.cw-android .camera-surface13>.android-video-frame{object-fit:contain}
/* Speech needs an explicit sound gesture on iOS; keep the control on the portrait. */
.cw-portrait-sound{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;border:1px solid #a7bed7;border-radius:20px;padding:9px 14px;background:#0b1828ed;color:#edf3fb;white-space:nowrap;font-size:12px;min-height:40px}
/* Android banner: paint the artwork on its owner, below all content. */
.cw-android .contact-banner13{background:linear-gradient(90deg,#0b203942,transparent 80%),url('assets/media15/contact-ribbons.jpg') center/cover no-repeat,#0b2039!important}
.cw-android .contact-banner13>.contact-ribbons15,.cw-android .contact-banner13>.flow-lines16,.cw-android .contact-banner13:after{display:none!important}
.cw-android .contact-banner13>.button{display:inline-flex!important;visibility:visible!important;opacity:1!important;flex:0 0 auto!important;position:relative!important;transform:none!important;z-index:2!important;margin-top:8px;overflow:visible;min-height:48px}
.cw-android .contact-banner13>.button:before{display:none!important}
.cw-android .flow-lines16 .flow-ribbon16{animation:none!important}
