/* Broad product narrative, quiet surfaces, precise rules. */
:root{--ink:#152c3b;--muted:#52646f;--blue:#245a82;--line:#d6dfe4}
body{background:#f7f8f9;color:var(--ink)}
::selection{background:#c7dfef;color:#102c40}
.container{max-width:1440px;padding-left:40px;padding-right:40px}
.header{background:#fff;border-bottom:1px solid #e2e7ea;box-shadow:none}
.nav-row{height:86px}.header nav a{font-size:15px}
.button{border-radius:5px;box-shadow:none;background:#193b51}.button.blue{background:#193b51}.button:hover{background:#285672}.button.outline{background:transparent;border:1px solid #193b51;color:#193b51}
.eyebrow{display:none}
.hero{background:#f7f8f9;color:var(--ink);overflow:visible}.hero:before,.hero:after{display:none}
.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:56px;padding-bottom:26px}
.hero-copy{max-width:none;display:contents}
.hero h1{font-size:clamp(40px,5.3vw,76px);font-weight:500;line-height:1.08;letter-spacing:-.04em;max-width:1300px;margin:0;order:0}
.hero h1 em{font-size:1em;color:#69879b;font-style:normal;white-space:normal}
.hero-description{order:1;max-width:780px;font-size:20px;line-height:1.6;color:#52646f;margin:0}
.hero-product{order:2;width:100%;margin:0;max-width:none;background:transparent;border:0;box-shadow:none;border-radius:0;transform:none!important;isolation:auto}
.hero-product:before{display:none}
.hero-buttons{order:3;margin:0;gap:14px}.hero-buttons .button{min-height:52px;font-size:16px;padding:14px 24px}
.hero-proof{order:4;color:#52646f;margin:0;font-size:13px;gap:30px}.hero-bottom{display:none}
.hero-product .product-top,.hero-product .product-sidebar,.hero-product .product-footer,.hero-product .product-main-head,.hero-product .floating-record{display:none}
.product-window,.product-main{display:contents}
.hero-chat{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:14px 40px;padding:24px 0;min-height:270px;border-top:1px solid #d6dfe4;border-bottom:1px solid #d6dfe4;align-items:center;position:relative}
.hero-product .chat-bubble{max-width:none;width:100%;font-size:15px;line-height:1.65;border-radius:8px;box-shadow:none!important;translate:none!important;margin:0;padding:20px;transition:opacity .45s ease,transform .45s ease}
.hero-product .chat-bubble.customer{grid-column:1;grid-row:1;background:#fff;border:1px solid #d6dfe4;color:#263d4c;align-self:end}
.hero-product .chat-bubble.customer.short{grid-column:1;grid-row:2;align-self:start;background:#eaf0f4;margin-left:24px;width:calc(100% - 24px)}
.flow-hub{grid-column:2;grid-row:1;text-align:center;display:flex;align-items:center;flex-direction:column;gap:9px;padding:12px;position:relative}
.flow-hub:before,.flow-hub:after{content:'→';position:absolute;top:50%;font-size:25px;color:#69879b}.flow-hub:before{left:-27px}.flow-hub:after{right:-27px}
.flow-hub img{width:42px;height:44px;object-fit:contain}.flow-hub strong{font-size:22px;font-weight:500}.flow-hub>span{font-size:14px;color:#52646f}
.hero-product .chat-bubble.assistant{grid-column:2;grid-row:2;background:transparent;padding:0 8px;border:0;font-size:14px;color:#52646f;align-self:start;text-align:center}
.hero-product .assistant-label{display:none}
.hero-product .chat-event{grid-column:3;grid-row:1/3;min-height:174px;background:#e7eff4;border:1px solid #c1d2df;border-radius:8px;box-shadow:none;translate:none!important;padding:25px;gap:14px;color:#193b51;align-items:center}
.hero-product .chat-event strong{font-size:22px;font-weight:500;line-height:1.2}.hero-product .chat-event small{font-size:15px;color:#52646f;line-height:1.5;margin-top:14px}.hero-product .chat-event>span:first-child{background:#d2e2ec;color:#245a82;flex-shrink:0}
.hero-switch{position:static;justify-content:flex-start;gap:18px;margin:14px 0 0;color:#52646f}.hero-switch>span{font-size:11px}.hero-switch button{color:#52646f;min-height:44px;font-size:14px}.hero-switch button[aria-pressed=true]{color:#193b51;border-color:#193b51}
.flow-caption{position:absolute;right:0;bottom:0;width:auto;background:none;border:0;padding:0;gap:20px;color:#52646f;font-size:12px;height:44px}.flow-caption button{min-width:64px;min-height:44px;color:#193b51;border:1px solid #d6dfe4;border-radius:5px;background:#fff}
.flow-progress{height:2px;background:#e4eaed;margin-top:12px}.flow-progress i{background:#69879b}
.industry-band{background:transparent;border:0;padding:32px 0 50px}.industry-band .container{border-bottom:1px solid #d6dfe4;padding-bottom:36px}.industry-band span{color:#52646f}.industry-band .container>div{font-size:19px;gap:40px}
.section{padding-top:90px;padding-bottom:90px}h2,.section-intro h2{font-size:clamp(34px,4vw,56px);font-weight:500;line-height:1.12;letter-spacing:-.035em}.section-intro{gap:70px;align-items:start;margin-bottom:55px}.section-intro>p{font-size:18px;line-height:1.7;color:#52646f}
.solution-grid{gap:0}.solution-grid .solution-card{border:0;border-top:1px solid #d6dfe4;background:none;border-radius:0;padding:48px 0;box-shadow:none;gap:70px}.solution-grid .card-copy h3{font-size:36px;font-weight:500;letter-spacing:-.03em}.solution-grid .card-copy p{font-size:17px;color:#52646f}.solution-grid .inbox-visual,.solution-grid .crm-visual,.solution-grid .workflow-visual{background:#edf1f4;border-radius:8px;box-shadow:none}.card-tag{color:#52646f}.text-link,.card-copy a{color:#245a82}
.demo-section{background:#edf1f4;padding:88px 0}.business-tabs{gap:0;border-bottom:1px solid #bdccd6;margin-bottom:28px}.business-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;border-radius:0;box-shadow:none;padding:20px 16px}.business-tabs button[aria-pressed=true]{background:#e0e9ef;border-bottom-color:#245a82}.demo-app{box-shadow:0 20px 45px #193b510a;border:1px solid #cbd7df;border-radius:8px}.business-tabs button b{font-size:16px}
.method-section{background:#edf1f4}.method-grid article{border-radius:0;background:none;box-shadow:none;border:0;border-top:1px solid #bacbd6;padding:24px 0}.method-grid{gap:40px}.method-icon{display:none}.method-grid h3{font-size:25px;font-weight:500}.method-output{background:none;padding:0;color:#245a82}.connection-map{background:#edf1f4;border-radius:8px;box-shadow:none}
.contact-section{background:#193b51}.contact-copy h2{font-weight:500}.contact-copy>p{color:#c4d4df}#enquiry{box-shadow:none;border:0;border-radius:8px}.faq-list details{border-color:#d6dfe4}footer{background:#edf1f4;color:#193b51}.footer-bottom{color:#52646f}
@media(max-width:900px){.container{padding-left:24px;padding-right:24px}.hero-grid{padding-top:38px;gap:26px}.hero h1{font-size:52px}.hero-description{font-size:18px}.hero-chat{gap:14px 20px}.flow-hub:before{left:-16px}.flow-hub:after{right:-16px}.hero-product .chat-bubble{padding:14px;font-size:14px}.hero-product .chat-event{padding:16px}.hero-product .chat-event strong{font-size:20px}.flow-caption #flow-status{display:none}.section-intro{gap:24px}.solution-grid .solution-card{gap:30px}.hero-proof{gap:14px}}
@media(max-width:600px){.container{padding-left:20px;padding-right:20px}.nav-row{height:74px}.hero-grid{padding-top:32px;padding-bottom:18px;gap:24px}.hero h1{font-size:42px;letter-spacing:-.035em;line-height:1.1}.hero-description{font-size:17px}.hero-buttons{display:flex;flex-direction:column}.hero-buttons .button{width:100%}.hero-proof{display:none}.hero-chat{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:12px;padding:18px 0;min-height:0}.hero-product .chat-bubble.customer{grid-column:1;grid-row:1;align-self:auto}.hero-product .chat-bubble.customer.short{display:none}.flow-hub{grid-column:1;grid-row:2;padding:16px 0 0;gap:6px}.flow-hub img{width:32px;height:34px}.flow-hub strong{font-size:19px}.flow-hub:before,.flow-hub:after{display:none}.hero-product .chat-bubble.assistant{grid-column:1;grid-row:3;max-width:34ch;margin:auto;padding:0 0 10px}.hero-product .chat-event{grid-column:1;grid-row:4;min-height:100px;padding:18px}.hero-product .chat-event strong{font-size:20px}.hero-product .chat-event small{margin-top:5px;font-size:14px}.hero-switch{gap:13px;margin:10px 0 0;padding-right:70px;justify-content:flex-start}.hero-switch>span{display:none}.flow-caption{height:44px;bottom:14px}.flow-caption button{min-width:54px}.industry-band{padding:20px 0}.industry-band .container>div{font-size:16px;gap:14px 24px}.section{padding-top:56px;padding-bottom:56px}h2,.section-intro h2{font-size:36px}.section-intro{margin-bottom:32px}.section-intro>p{font-size:17px}.solution-grid .solution-card{padding:32px 0}.solution-grid .card-copy h3{font-size:29px}.demo-section{padding:56px 0}.business-tabs button{padding:16px 9px;min-height:90px}.business-tabs button b{font-size:14px}.business-tabs button small{font-size:12px}.method-grid{gap:28px}.contact-section{padding:56px 0}.contact-copy h2{font-size:36px}.contact-copy{position:static}}
@media(prefers-reduced-motion:reduce){.hero-product .chat-bubble{transition:none}}
@media(max-width:600px){.hero-buttons{order:2}.hero-product{order:3}.hero h1 em{color:#56788e}.hero-switch button{padding-left:3px;padding-right:3px}.floating-contact{max-width:120px}}
/* Mobile contacts occupy their own header row, never the reading area. */
@media(max-width:600px){
html{scroll-padding-top:150px;scroll-padding-bottom:20px}
body{padding-bottom:0}
.header .floating-contact{position:static;inset:auto;transform:none;margin:-2px 20px 12px auto;padding:0;gap:8px;width:max-content;max-width:none;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.header .floating-contact .channel-link{width:auto;height:44px;min-width:44px;gap:7px;padding:0 12px;border:1px solid #d6dfe4;border-radius:6px;box-shadow:none;background:#f4f7f9;transform:none}
.header .floating-contact .channel-link:before{display:none}
.header .floating-contact svg{width:21px;height:21px}
.header .floating-contact .dock-label{position:static;inset:auto;opacity:1;visibility:visible;transform:none;padding:0;background:none;color:#193b51;font-size:13px;line-height:1}
.header .floating-contact a:hover .dock-label,.header .floating-contact a:focus-visible .dock-label{transform:none}
#demo-record{scroll-margin-top:150px}
footer{padding-bottom:32px}
}

/* One-row phone header with full-size touch targets. */
@media(max-width:600px){
html{scroll-padding-top:90px}
.header .nav-row{height:72px;padding-left:12px;padding-right:12px;gap:4px}
.header .brand{gap:6px;font-size:14px;white-space:nowrap;flex-shrink:0}
.header .brand img{width:24px;height:26px}
.header .nav-actions{gap:0;flex-shrink:0}
.header .language,.header #menu{width:44px;min-width:44px;height:44px;padding:0}
.header .floating-contact{display:flex;margin:0;gap:0}
.header .floating-contact .channel-link{width:44px;min-width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:6px}
.header .floating-contact .dock-label{display:none}
#demo-record{scroll-margin-top:90px}
}

/* UI/UX review: readable selection, visible focus, generous link targets. */
.business-tabs button[aria-pressed=true]{color:#193b51}
.business-tabs button[aria-pressed=true] small{color:#52646f}
.hero-switch>span{color:#52646f}
.hero :focus-visible{outline-color:#245a82}
@media(max-width:600px){
.header .brand{min-height:44px}
.footer-top nav a,.footer-bottom a[href^=tel],.contact-copy a[href^=tel],.section .text-link{display:inline-flex;align-items:center;min-height:44px}
}

/* Method cards no longer have an icon: use the full reading width on phones. */
@media (max-width: 600px) {
  .method-grid article { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-width: 0; }
  .method-grid h3 { width: 100%; margin: 0 0 14px; font-size: 25px; line-height: 1.25; word-break: normal; overflow-wrap: normal; }
  .method-grid p { width: 100%; max-width: none; min-height: 0; margin: 0; }
  .method-grid .method-output { grid-column: auto; align-self: flex-start; margin-top: 20px; }
}

/* Product demos menu: same nav slot, white surface, no extra header controls. */
.nav-demos{position:relative;display:flex;align-items:center}
.header .nav-demos-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:12px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:15px;line-height:inherit;letter-spacing:inherit;white-space:nowrap}
.nav-demos-button:hover span{text-decoration:underline;text-underline-offset:5px}
.nav-caret{width:12px;height:12px;flex:none;opacity:.72;transition:transform .16s ease}
.nav-demos-button[aria-expanded="true"] .nav-caret{transform:rotate(180deg)}
.nav-demos-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:5;min-width:220px;max-width:min(280px,calc(100vw - 32px));padding:6px;border:1px solid #d6dfe4;border-radius:8px;background:#fff;color:#152c3b;box-shadow:0 16px 40px -24px #102332}
.nav-demos-menu a,.nav-demos-menu button{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:6px;background:transparent;color:#152c3b;text-align:left;font:500 15px/1.3 var(--font);text-decoration:none;white-space:nowrap}
.nav-demos-menu a:hover,.nav-demos-menu button:hover,.nav-demos-menu a:focus-visible,.nav-demos-menu button:focus-visible{background:#edf1f4;text-decoration:none}
#mobile-nav a,#mobile-nav .mobile-ai{display:flex;align-items:center;width:100%;min-height:44px;padding:10px 0;font-size:15px}
#mobile-nav .mobile-ai{border:0;background:transparent;color:inherit;text-align:left;font:inherit;font-size:15px}
@media(prefers-reduced-motion:reduce){.nav-caret{transition:none}}

/* Safari phone controls and wrapping: preserve comfortable hit areas. */
@media (max-width: 600px) {
  .industry-band .container > div { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px 24px; }
  .industry-band .container > div > span { flex: 0 0 auto; white-space: nowrap; }
  .composer select, #enquiry select {
    -webkit-appearance: none; appearance: none; box-sizing: border-box;
    min-height: 48px; height: auto; line-height: 1.4; padding: 12px 38px 12px 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%2352646f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-position: right 12px center; background-size: 16px; background-repeat: no-repeat;
  }
}

/* Sticky-header AI demo: same navy primary as the nav CTA, in the header row on phones. */
.header .nav-ai-demo{justify-content:center;white-space:nowrap}
.header .nav-ai-demo:disabled{background:#193b51;color:#fff;opacity:.88;cursor:wait}
.header .nav-ai-demo:disabled:hover{background:#193b51;transform:none}
@media(max-width:600px){
.header .nav-actions{flex-shrink:1;min-width:0}
.header .nav-ai-demo{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:44px;height:44px;margin:0 2px;padding:0 10px;gap:0;border-radius:6px;font-size:12px;font-weight:600;line-height:1.1;letter-spacing:-.015em}
}
/* Drop the wordmark only when the labeled control and 44px targets cannot share the row. */
@media(max-width:520px){
.header .brand>span{display:none}
.header .brand{min-width:44px;justify-content:center}
}
@media(max-width:359px){
.header .nav-row{padding-left:8px;padding-right:8px;gap:2px}
.header .nav-ai-demo{max-width:78px;padding:2px 6px;font-size:11px;line-height:1.05;white-space:normal;text-align:center}
}
