/* These styles load only in the isolated marketing layout. */
.footer-legal{display:flex;flex-wrap:wrap;gap:12px 24px;padding-block:0 25px;font-size:12px}.marketing-flashes{padding-block:20px}.marketing-flashes p{background:#ddf1e6;padding:15px 20px;border-radius:14px}.contact-form-panel form>div{margin-bottom:16px}.contact-form-panel form>div>label{display:block}.contact-form-panel input,.contact-form-panel select,.contact-form-panel textarea{width:100%;max-width:100%}.contact-form-panel [hidden],.honeypot{display:none!important}.marketing-flash--warning,.marketing-flash--error{background:#fbe4d6!important}.form-error{display:block;margin-top:6px;color:#923a25;font-size:13px}.form-help{margin-top:6px;font-size:13px}.contact-form-panel form ul{color:#923a25;font-size:13px}.pricing-page .tariff.tariff--start{background:#fbe4d6;border-color:#ecd3c4}.pricing-page .tariff.tariff--plus{background:#dce8ff;border-color:#9bb4e0}.pricing-page .tariff.tariff--max{background:#ddf1e6;border-color:#c4dfd1}.pricing-page .tariff.tariff--custom{background:#f5f6f8;border-color:#d5dbe1}



/* Legal pages (terms, privacy, cookies): long-form text in the marketing layout. */
.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start}.legal-nav{position:sticky;top:110px;display:flex;flex-direction:column;gap:6px;font-family:Outfit,Inter,sans-serif;font-size:15px}.legal-nav{align-items:flex-start;text-align:left}.legal-nav a{padding:10px 16px;border-radius:30px;color:var(--muted);text-decoration:none!important;border:0!important}.legal-nav a:hover{background:#f2f3f4;color:var(--ink)}.legal-nav a[aria-current=page]{background:#202124;color:#fff}
.prose{max-width:760px;font-size:16px}.prose>:first-child{margin-top:0}.prose h2{font-size:28px;line-height:1.25;margin:48px 0 0}.prose h3{font-size:20px;margin:28px 0 0}.prose p{margin:14px 0 0}.prose strong{color:var(--ink);font-weight:600}.prose a{text-decoration:underline;text-underline-offset:3px}.prose ol,.prose ul{margin:14px 0 0;padding-left:22px;color:var(--muted)}.prose li{margin-bottom:8px}.prose li::marker{color:#a6acb3}.prose dl{margin:14px 0 0;color:var(--muted)}.prose dt{margin-top:12px;font-weight:600;color:var(--ink)}.prose dd{margin:3px 0 0}.prose blockquote{margin:18px 0 0;padding:14px 20px;border-left:3px solid var(--line);background:#f7f8fa;border-radius:0 14px 14px 0}.prose blockquote p:first-child{margin-top:0}
.legal-table-wrap{overflow-x:auto;margin:18px 0 0;border:1px solid var(--line);border-radius:14px}.legal-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.legal-table th{text-align:left;padding:12px 14px;background:#f7f8fa;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}.legal-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted)}.legal-table td:first-child{color:var(--ink);font-family:ui-monospace,Menlo,monospace;font-size:13px;white-space:nowrap}.legal-table tr:last-child td{border-bottom:0}
@media (max-width:900px){.legal-layout{grid-template-columns:1fr;gap:28px}.legal-nav{position:static;flex-direction:row;flex-wrap:wrap}.prose h2{font-size:24px}}
.tariff-offer{margin-top:8px;font-size:14px;color:var(--ink)}
.signup-name-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.signup-terms{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin:4px 0 20px;font-size:14px}.signup-terms input{width:auto!important;margin-top:5px}.signup-terms label{flex:1;display:inline!important}.signup-terms a{text-decoration:underline}.signup-terms .form-error{flex-basis:100%}@media (max-width:480px){.signup-name-row{grid-template-columns:1fr}}

/* Desktop heroes share the pastel gradient; only the homepage has chat bubbles. Phones keep the flat background. */
@media (min-width:901px){.page-hero,.references-page .page-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(75% 65% at 0% 0%,#a9c6ff 0%,transparent 60%),radial-gradient(65% 60% at 100% 10%,#bfe8d2 0%,transparent 62%),radial-gradient(80% 60% at 85% 110%,#f8cfb6 0%,transparent 60%),radial-gradient(60% 50% at 10% 100%,#cfe0ff 0%,transparent 60%),linear-gradient(180deg,#e2ecff 0%,#f4f7ff 100%);border-bottom-color:#d6e1f3}.home-page .page-hero::before,.home-page .page-hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;background:linear-gradient(135deg,#ffffffd9,#ffffff59);border:1px solid #ffffffb3;box-shadow:0 24px 60px #4d6fc426}.home-page .page-hero::before{width:300px;height:200px;left:-90px;top:-50px;border-radius:56px 56px 56px 12px;transform:rotate(-8deg)}.home-page .page-hero::after{width:280px;height:190px;right:-80px;bottom:-60px;border-radius:52px 52px 12px 52px;transform:rotate(7deg)}}
/* Homepage logo loop activates in app.js once at least five logos are present. */
.home-page .client-strip{position:relative}
.home-page .logos.is-slider{--logos-gap:65px;display:block;overflow:hidden}
.logos-track{display:flex;width:max-content;animation:logos-scroll var(--logos-duration) linear infinite}
.logos-group{display:flex;align-items:center;gap:var(--logos-gap);padding-right:var(--logos-gap)}
.logos-group>a{display:flex;align-items:center;justify-content:center;flex:0 0 190px;min-height:64px}
.logos-group img{display:block}
.logos.is-slider:hover .logos-track,.logos.is-paused .logos-track{animation-play-state:paused}
/* Keyboard navigation uses the original links in a scrollable, stationary row. */
.home-page .logos.is-slider:focus-within{overflow-x:auto}
.logos.is-slider:focus-within .logos-track{animation:none}
.logos-group a:focus-visible{outline:2px solid var(--action);outline-offset:-2px;border-radius:6px}
.logos-pause{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:28px;height:28px;padding:5px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer}
.logos-pause svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.logos-pause .logos-play-icon,.logos-pause[aria-pressed=true] .logos-pause-icon{display:none}
.logos-pause[aria-pressed=true] .logos-play-icon{display:block}
.logos-pause:focus-visible{outline:2px solid var(--action);outline-offset:2px}
@keyframes logos-scroll{to{transform:translateX(-50%)}}
@media(max-width:900px){.home-page .logos.is-slider{--logos-gap:38px}.logos-group>a{flex-basis:150px;min-height:50px}}
@media(prefers-reduced-motion:reduce){.home-page .logos.is-slider{overflow-x:auto}.logos-track{animation:none;width:auto}.logos-group{flex:1;flex-wrap:wrap;justify-content:center;padding-right:0;gap:23px var(--logos-gap)}.logos-group[aria-hidden=true],.logos-pause{display:none}}

/* Official payment marks, served locally in their original colors. */
.footer-payments{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding-block:20px 26px}.footer-payments a{display:inline-flex}.footer-payments img{width:auto;height:auto;max-height:32px;object-fit:contain}.footer-payments a img{width:132px}.footer-payments>img{width:80px;max-height:none;flex-shrink:0}.footer-payments>img:last-child{width:56px}

.tariff.tariff--pro{background:#efe6fb;border-color:#d4c4ea}@media(min-width:761px){.pricing-page .tariffs{grid-template-columns:repeat(2,1fr)}.pricing-page .tariff.tariff--bespoke{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:30px 34px}.pricing-page .tariff--bespoke .tariff-heading{min-height:0;max-width:680px}.pricing-page .tariff--bespoke .tariff-heading p{font-size:14px}.pricing-page .tariff--bespoke .button{width:auto;flex-shrink:0;margin-top:0;padding-inline:34px}}
/* Pricing page: four tariffs in one row on desktop, the bespoke card spans the row below. */
.pricing-page .tariff:not(.tariff--bespoke) .tariff-price>span{display:block;line-height:1.6}@media(min-width:1101px){.pricing-page .tariffs{grid-template-columns:repeat(4,1fr);gap:18px}.pricing-page .tariff:not(.tariff--bespoke){padding:26px 20px 22px}.pricing-page .tariff-price{font-size:clamp(32px,3vw,40px)}}
