@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Instrument+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#191816;--soft:#252320;--paper:#f8f6f2;--white:#fff;--muted:#65625d;--line:#dedbd5;--accent:#c44c2c;--bright:#ed8863;--serif:'Instrument Serif',Georgia,serif;--sans:'Instrument Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);font-variant-emoji:text;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(3.35rem,6.65vw,6.8rem)}h2{font-size:clamp(2.5rem,4.45vw,4.5rem)}h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.035em}em{font-family:var(--serif);font-weight:400}p+p{margin-top:1rem}::selection{background:#e5b397;color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:104px}.dark{background:var(--ink);color:var(--paper)}.eyebrow{display:flex;align-items:center;gap:14px;font:500 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em}.eyebrow span{color:var(--accent)}.dark .eyebrow{color:#aaa69f}.dark .eyebrow span{color:var(--bright)}.section-head{display:grid;grid-template-columns:1.1fr .7fr;gap:90px;align-items:end;margin-top:26px;margin-bottom:48px}.section-head>p{color:var(--muted);max-width:470px}.dark .section-head>p{color:#b9b5ae}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:52px;padding:13px 22px;background:var(--accent);color:#fff;border:1px solid var(--accent);font-size:14px;font-weight:600;line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:#a93c20;border-color:#a93c20;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.ghost{background:transparent;border-color:#5d5953;color:var(--paper)}.button.outline{background:transparent;border-color:var(--line);color:var(--ink)}.button:disabled{opacity:.6;cursor:wait}.arrow{font-size:23px;line-height:1;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:600;color:var(--accent)}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.skip-link{position:fixed;left:20px;top:-100px;background:white;color:black;padding:12px;z-index:100}.skip-link:focus{top:15px}
.site-header{position:sticky;top:0;z-index:30;background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff16}.header-inner{height:83px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:174px;height:30px}.nav{display:flex;gap:30px;align-items:center}.nav>a{font-size:14px;color:#d4d0c9}.nav>a:hover{color:var(--bright)}.header-cta{font-size:13px;min-height:42px;padding:10px 18px;gap:22px}.menu-toggle{display:none;background:none;border:1px solid #5d5953;color:white;padding:8px 14px;min-height:44px}.hero{padding-top:60px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;align-items:center;padding-bottom:56px}.hero h1{margin-top:26px}.hero h1 em{color:var(--bright)}.hero-copy>p{max-width:530px;color:#bbb7b0;font-size:18px;margin-top:25px}.hero .actions{gap:24px;align-items:center}.hero .plain-link{font-size:14px;color:#d3cec6;border-bottom:1px solid #767069;padding:12px 0}.hero-visual{position:relative;align-self:stretch;min-height:440px;margin-top:0}.hero-visual>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#19181600 48%,#191816cf)}.image-label{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;border-top:1px solid #ffffff70;padding-top:16px;display:flex;justify-content:space-between;gap:14px;color:white;font:12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.09em}.hero-visual .vertical-label{position:absolute;z-index:2;top:20px;left:22px;font:12px var(--mono);color:#eee;letter-spacing:.12em}.hero-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff26}.hero-index a{display:flex;align-items:center;gap:15px;padding:24px 18px;border-right:1px solid #ffffff26;font-size:14px}.hero-index a:first-child{padding-left:0}.hero-index a:last-child{border-right:0}.hero-index span{color:var(--bright);font:12px var(--mono)}.hero-index b{font-weight:400;flex:1}.hero-index a:hover{color:var(--bright)}
.brands{padding:42px 0 38px;border-bottom:1px solid var(--line);background:white}.brands-label{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px;margin-bottom:26px}.brands-label span:first-child{color:var(--ink);font-weight:600}.brand-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px 25px;align-items:center}.brand-grid img{width:130px;height:70px;object-fit:contain;justify-self:center;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}.brand-grid img:hover{filter:none;opacity:1}.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.solution-card{padding:30px 25px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:background .2s}.solution-card:first-child{padding-left:0}.solution-card:last-child{border:0}.solution-card:hover{background:#f0ece5}.solution-card .num{font:12px var(--mono);color:var(--accent);margin-bottom:28px;display:flex;justify-content:space-between;align-items:center}.solution-icon{width:36px;height:36px;color:var(--accent);margin-bottom:25px}.solution-card h3{font-family:var(--serif);font-size:30px;min-height:75px}.solution-card p{font-size:15px;line-height:1.7;color:var(--muted);margin-top:18px;margin-bottom:28px}.solution-card .text-link{margin-top:auto;justify-content:space-between}.under-row{display:flex;justify-content:space-between;gap:20px;padding-top:24px;font-size:14px;color:var(--muted)}.under-row a{color:var(--accent);font-weight:600;white-space:nowrap}
.ai-feature{background:#eae4db;padding:96px 0}.ai-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.ai-copy h2{margin-top:24px}.ai-copy>p{margin-top:25px;color:var(--muted)}.check-list{list-style:none;margin:28px 0;padding:0}.check-list li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid #cfc7bc;font-size:15px}.check-list li:before{content:'↗';position:absolute;left:0;color:var(--accent)}.research-panel{background:var(--paper);box-shadow:0 16px 45px #3e2e2110;border:1px solid #d7cfc4}.panel-top{padding:22px 25px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);font:12px var(--mono);letter-spacing:.04em}.panel-top span:last-child{color:var(--muted)}.research-tabs{display:flex;margin:25px 25px 0;border:1px solid var(--line)}.research-tabs button{background:none;color:var(--muted);border:0;flex:1;padding:12px 8px;font-size:14px}.research-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.research-body{padding:24px 25px}.research-input{border:1px solid var(--line);background:white;padding:17px}.research-input small{font:11px var(--mono);text-transform:uppercase;color:var(--muted)}.research-input p{font-size:15px;margin-top:8px}.workflow-arrow{text-align:center;color:var(--accent);font-size:24px;margin:7px}.research-steps{display:flex;justify-content:space-between;gap:8px;background:#eee9e2;padding:14px;font-size:12px}.research-output{border:1px solid var(--line);background:white}.research-output h4{font-size:14px;font-weight:500;padding:15px;border-bottom:1px solid var(--line)}.research-output dl{margin:0;padding:4px 15px}.research-output dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eeebe5;font-size:13px}.research-output dl>div:last-child{border:0}.research-output dt{color:var(--muted)}.research-output dd{margin:0;text-align:right}.panel-foot{padding:15px 25px;background:#f0ece5;font-size:12px;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:50px}.process-item{border-top:1px solid #ffffff36;padding-top:20px}.process-item .step{font:12px var(--mono);color:var(--bright)}.process-item h3{font-family:var(--serif);font-size:29px;margin-top:25px}.process-item p{color:#b9b5ae;font-size:15px;margin-top:15px}.performance-line{border-top:1px solid #ffffff26;margin-top:52px;padding-top:24px;display:flex;gap:28px;justify-content:space-between;font-size:14px;color:#bbb7b0}.performance-line strong{color:var(--paper);font-weight:500}.deliverable-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.deliverable{border:1px solid var(--line);padding:28px;background:#fff8;transition:border-color .2s}.deliverable:hover{border-color:var(--accent)}.deliverable .tag{color:var(--accent);font:12px var(--mono);text-transform:uppercase;letter-spacing:.08em}.deliverable h3{font-family:var(--serif);font-size:28px;margin-top:22px}.deliverable p{font-size:15px;color:var(--muted);margin-top:14px}.deliverable .text-link{margin-top:25px}.tech-section{padding:80px 0;border-block:1px solid var(--line);background:white}.tech-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.tech-intro h2{font-size:clamp(2.4rem,4vw,4rem);margin-top:24px}.tech-intro p{color:var(--muted)}.platform-logos{max-width:1040px;width:100%;margin:48px auto 30px;padding:15px 22px}.tech-caption{text-align:center;color:var(--muted);font-size:13px;margin-bottom:40px}.tech-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:32px}.tech-capabilities h3{font-size:18px}.tech-capabilities p{font-size:14px;color:var(--muted);margin-top:12px}.tech-capabilities .text-link{margin-top:15px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-grid img{width:100%;aspect-ratio:1.14;object-fit:cover}.about-grid h2{margin-top:24px}.about-grid p{color:var(--muted);margin-top:24px}.audiences{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:32px}.audiences h3{font-size:19px}.audiences p{color:var(--muted);font-size:15px;margin-top:14px}.faq{padding-top:0}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq h2{margin-top:22px}.faq details{border-top:1px solid var(--line);padding:21px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:17px;font-weight:500;cursor:pointer;list-style:none;display:flex;gap:24px;justify-content:space-between}.faq summary:after{content:'+';font-size:24px;font-weight:400;color:var(--accent);line-height:1}.faq details[open] summary:after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq details p{font-size:15px;color:var(--muted);margin-top:16px;padding-right:25px}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.contact h2{margin-top:24px}.contact-copy>p{color:#b9b5ae;margin-top:24px}.contact-info{margin-top:35px;font-size:15px}.contact-info a{font-size:22px;border-bottom:1px solid #6f675c;padding-bottom:6px}.contact-info p{margin-top:24px;color:#b9b5ae}.contact-info small{font:12px var(--mono);color:#928d84;display:block;margin-bottom:7px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.contact-form label{font-size:13px;color:#c9c4bc;display:block}.contact-form input,.contact-form textarea,.contact-form select{margin-top:8px;padding:13px 12px;width:100%;min-width:0;border:1px solid #57524b;background:#252320;color:white;border-radius:0;line-height:1.5}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa39a}.contact-form textarea{resize:vertical;min-height:130px}.contact-form .full{grid-column:1/-1}.form-note{font-size:12px;color:#aaa39a}.form-note a{text-decoration:underline}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-actions span{font-size:12px;color:#aaa39a}.form-status{font-size:14px;color:var(--paper);min-height:1.6em}.form-status.error{color:#ffb79d}.form-status a{text-decoration:underline}.honeypot{display:none!important}.site-footer{border-top:1px solid #ffffff26;background:var(--ink);color:var(--paper);padding:48px 0 25px}.footer-main{display:flex;gap:40px;justify-content:space-between;align-items:start}.footer-main p{font-size:14px;color:#aaa39a;margin-top:20px;max-width:320px}.footer-links{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;color:#c9c4bc}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #ffffff26;display:flex;gap:20px;justify-content:space-between;font-size:12px;color:#aaa39a}
.detail-hero{padding:48px 0 76px}.breadcrumbs{font-size:13px;color:#b9b5ae;display:flex;gap:12px;flex-wrap:wrap;margin-bottom:45px}.breadcrumbs a:hover{color:var(--bright)}.detail-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:end}.detail-heading h1{font-size:clamp(3.2rem,6vw,5.7rem);margin-top:24px}.detail-heading p{color:#b9b5ae;font-size:18px}.detail-outcome{font-size:14px;color:var(--bright);margin-top:25px}.detail-body{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}.detail-body h2{font-size:clamp(2.5rem,4vw,3.8rem)}.detail-body .intro{font-size:20px;line-height:1.6}.detail-body p+p{color:var(--muted);margin-top:22px}.detail-blocks{margin-top:35px}.detail-block{padding:27px 0;border-top:1px solid var(--line)}.detail-block h3{font-family:var(--serif);font-size:29px}.detail-block p{color:var(--muted);margin-top:12px}.detail-check{background:#eae4db;padding:30px;margin-top:35px}.detail-check h3{font-size:18px}.detail-check ul{padding-left:20px;margin-bottom:0}.detail-check li{font-size:15px;margin-top:10px}.detail-method{padding:75px 0}.detail-method h2{max-width:680px}.detail-method .process-item{border-color:var(--line)}.detail-method .process-item .step{color:var(--accent)}.detail-method .process-item p{color:var(--muted)}.outcome-banner{padding:42px;background:var(--accent);color:white;display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px}.outcome-banner h3{font-family:var(--serif);font-size:33px}.outcome-banner p{font-size:15px}.related{padding-top:0}.related h2{font-size:40px;margin-bottom:30px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.related-grid a{padding:25px;border:1px solid var(--line)}.related-grid a:hover{border-color:var(--accent)}.related-grid h3{font-family:var(--serif);font-size:28px}.related-grid p{font-size:14px;color:var(--muted);margin:14px 0}.back-top{font:12px var(--mono)}
@media(min-width:1500px){.hero-grid{gap:80px}.hero-visual{min-height:465px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}.header-cta{display:none}.hero-grid{gap:35px}.hero h1{font-size:clamp(3.4rem,6.6vw,5rem)}.hero-visual{min-height:430px}.section-head{gap:45px}.solution-card{padding-inline:18px}.solution-card h3{font-size:26px}.ai-layout,.about-grid{gap:45px}.contact-layout,.faq-layout{gap:55px}.detail-body{gap:55px}.tech-intro{gap:45px}.hero-index a{font-size:12px;padding-inline:12px}.process-grid{gap:22px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.section{padding-block:72px}.header-inner{height:72px}.brand img{width:155px;height:auto}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);padding:25px 20px 30px;border-bottom:1px solid #5d5953;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a{padding:13px;font-size:17px}.hero{padding-top:37px}.hero-grid{grid-template-columns:1fr;padding-bottom:32px;gap:35px}.hero h1{font-size:clamp(3.6rem,10.2vw,5.8rem)}.hero-copy>p{font-size:17px}.hero-visual{min-height:330px}.hero-index{grid-template-columns:1fr 1fr}.hero-index a{font-size:13px;padding:18px 12px;border-bottom:1px solid #ffffff26}.hero-index a:nth-child(2){border-right:0}.hero-index a:nth-child(3){padding-left:0;border-bottom:0}.hero-index a:last-child{border-bottom:0}.brands{padding:30px 0}.brands-label{font-size:12px}.brand-grid{grid-template-columns:repeat(7,1fr);gap:5px}.brand-grid img{height:55px}.section-head,.ai-layout,.about-grid,.tech-intro,.contact-layout,.detail-heading{grid-template-columns:1fr;gap:28px}.section-head{margin-bottom:35px}.section-head>p{max-width:100%}.solution-grid{grid-template-columns:1fr 1fr}.solution-card{padding:26px 20px!important;border-bottom:1px solid var(--line)}.solution-card:nth-child(2){border-right:0}.solution-card:nth-child(3),.solution-card:nth-child(4){border-bottom:0}.solution-card h3{min-height:68px;font-size:29px}.solution-card .num{margin-bottom:22px}.solution-icon{margin-bottom:18px}.ai-feature{padding:70px 0}.research-panel{margin-top:15px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 28px}.performance-line{flex-wrap:wrap;gap:15px 24px}.deliverable-grid{grid-template-columns:1fr 1fr}.tech-section{padding:65px 0}.tech-capabilities{gap:25px}.platform-logos{margin:25px auto 15px;padding:0}.tech-caption{font-size:12px}.about-grid img{aspect-ratio:16/9;order:2}.audiences{gap:22px}.faq{padding-top:0}.faq-layout{grid-template-columns:1fr;gap:35px}.contact-layout{gap:40px}.footer-main{flex-direction:column}.footer-links{gap:17px;font-size:13px}.detail-body{grid-template-columns:1fr;gap:30px}.detail-hero{padding-bottom:50px}.detail-heading h1{font-size:clamp(3.1rem,9vw,5rem)}.related-grid{grid-template-columns:1fr}.outcome-banner{gap:30px;padding:30px}.detail-method{padding-block:65px}.related{padding-top:0}}
@media(max-width:520px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:3.65rem}.hero-visual{min-height:270px}.hero .actions{gap:20px}.hero .button{padding-inline:18px;gap:20px}.hero-index b{max-width:110px}.brands-label{display:block}.brands-label span{display:block}.brands-label span+span{margin-top:4px}.brand-grid{grid-template-columns:repeat(4,1fr);gap:4px 10px}.brand-grid img{height:54px}.solution-card{padding:25px 16px!important}.solution-card h3{font-size:27px;min-height:100px}.solution-card p{font-size:14px}.solution-card .text-link{font-size:13px;gap:8px}.under-row{flex-direction:column;gap:12px}.deliverable-grid,.tech-capabilities,.audiences{grid-template-columns:1fr}.deliverable{padding:25px}.tech-capabilities{gap:28px}.process-grid{gap:30px 22px}.process-item h3{font-size:27px}.process-item p{font-size:14px}.image-label{font-size:10px}.research-steps{font-size:11px}.panel-top{font-size:11px}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.form-actions{align-items:start;flex-direction:column}.contact-form button{width:100%}.footer-bottom{flex-direction:column;gap:12px}.footer-links{display:grid;grid-template-columns:1fr 1fr}.outcome-banner{grid-template-columns:1fr;gap:20px}.eyebrow{font-size:11px}.detail-heading p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:800px){.button .arrow{font-family:Arial,sans-serif;font-variant-emoji:text;color:#fff}}

/* Render every CTA arrow as a consistent diagonal mark, independent of device emoji fonts. */
.arrow{display:inline-block;position:relative;width:20px;height:20px;font-size:0;line-height:0;color:currentColor;flex:0 0 20px}
.arrow::before{content:"";position:absolute;width:14px;height:2px;right:2px;top:12px;background:currentColor;transform:rotate(-45deg);transform-origin:right center}
.arrow::after{content:"";position:absolute;width:7px;height:7px;right:1px;top:2px;border-top:2px solid currentColor;border-right:2px solid currentColor}

/* SVG fallback keeps the arrow identical when a browser ignores CSS pseudo-elements. */
.arrow{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 20 20 4M9 4h11v11'/%3E%3C/svg%3E") center/20px 20px no-repeat}
.arrow::before,.arrow::after{display:none}

/* Explicit arrow colours: white inside buttons, PinPoint red inside text links. */
.button .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 20 20 4M9 4h11v11'/%3E%3C/svg%3E")}
.text-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c94b2c' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 20 20 4M9 4h11v11'/%3E%3C/svg%3E")}

.button.light .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%23191816\' stroke-width=\'2\' stroke-linecap=\'square\' stroke-linejoin=\'miter\'%3E%3Cpath d=\'M4 20 20 4M9 4h11v11\'/%3E%3C/svg%3E")}

/* Keep the header CTA aligned with the primary orange call to action. */
.button.light{background:var(--accent);color:#fff;border-color:var(--accent)}
.button.light:hover{background:#a93c20;border-color:#a93c20}
.button.light .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 20 20 4M9 4h11v11'/%3E%3C/svg%3E")}

/* Compact CTA arrows. */
.arrow{width:14px;height:14px;flex-basis:14px;background-size:14px 14px}
.under-row .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c94b2c' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 20 20 4M9 4h11v11'/%3E%3C/svg%3E")}
.check-list li:before{display:none}.check-list li{padding-left:0}.check-list li a{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:100%;color:inherit}.check-list li a:hover{color:var(--accent)}
.check-list .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c94b2c' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 20 20 4M9 4h11v11'/%3E%3C/svg%3E");margin-top:3px}
.check-list li a{justify-content:flex-start}
.brand-grid img{filter:none;opacity:1}

/* Solution dashboard visuals */
.solution-visual-section{padding:96px 0;background:#eae4db;border-block:1px solid var(--line)}
.visual-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin-bottom:42px}
.visual-heading h2{margin-top:20px}.visual-heading>p{color:var(--muted);max-width:500px}
.product-dashboard{background:#f8f6f2;border:1px solid #cfc7bc;box-shadow:0 22px 60px #3e2e2117;padding:0 24px 24px;overflow:hidden}
.dashboard-top,.dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.dashboard-top{margin:0 -24px 24px;padding:18px 24px;background:var(--ink);color:var(--paper);font:12px var(--mono);letter-spacing:.04em}
.dashboard-top span{color:#aaa69f}.dash-card-head{padding:15px 18px;border-bottom:1px solid var(--line);font-size:13px}.dash-card-head span{color:var(--muted);font-size:12px}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.map-card,.segment-card,.chart-card,.test-card,.lead-list,.account-brief{border:1px solid var(--line);background:white}
.market-map{height:390px;position:relative;overflow:hidden;background-color:#e6e1d9;background-image:linear-gradient(32deg,transparent 48%,#f6f3ee 49%,#f6f3ee 52%,transparent 53%),linear-gradient(110deg,transparent 45%,#f6f3ee 46%,#f6f3ee 49%,transparent 50%),linear-gradient(#d7d1c8 1px,transparent 1px),linear-gradient(90deg,#d7d1c8 1px,transparent 1px);background-size:100% 100%,100% 100%,56px 56px,56px 56px}
.route{position:absolute;height:4px;width:120%;background:#fff;border:1px solid #d3ccc2;transform-origin:left center}.route-a{left:-5%;top:31%;transform:rotate(18deg)}.route-b{left:12%;top:82%;transform:rotate(-32deg)}
.heat{position:absolute;width:130px;height:130px;border-radius:50%;filter:blur(3px);background:radial-gradient(circle,#c94b2c99 0,#e59a6b70 35%,transparent 72%)}.heat-a{left:16%;top:18%}.heat-b{right:16%;top:38%;transform:scale(.8)}.heat-c{left:42%;bottom:2%;transform:scale(.6)}
.pin{position:absolute;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;background:var(--ink);color:white;font:10px var(--mono);box-shadow:0 3px 10px #0003}.pin::first-letter{transform:rotate(45deg)}.pin-a{left:29%;top:29%}.pin-b{right:25%;top:51%}.pin-c{left:49%;bottom:16%}.market-map small{position:absolute;left:16px;bottom:14px;display:flex;gap:8px;align-items:center;background:#ffffffde;padding:8px 10px;font-size:11px}.market-map small span{width:70px;height:6px;background:linear-gradient(90deg,#ead9cb,#c94b2c)}
.dashboard-side{display:grid;gap:16px}.metric-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric-cards article{background:white;border:1px solid var(--line);padding:15px;display:flex;flex-direction:column}.metric-cards small{color:var(--muted);font-size:11px}.metric-cards strong{font-family:var(--serif);font-size:31px;font-weight:400;line-height:1.2}.metric-cards span{font-size:11px;color:var(--muted)}.positive{color:var(--accent)!important}
.segment-card p{display:grid;grid-template-columns:1fr 1fr 25px;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid #eeeae4;font-size:12px}.segment-card p:last-child{border:0}.segment-card p i{height:6px;background:linear-gradient(90deg,var(--accent) var(--score),#e7e2db var(--score));border-radius:8px}.segment-card p b{text-align:right}
.ai-callout{display:grid;grid-template-columns:auto 1fr;gap:14px;background:var(--accent);color:white;padding:18px}.ai-callout b{font:11px var(--mono);letter-spacing:.06em}.ai-callout p{font-size:13px;line-height:1.5}
.journey-row{display:flex;align-items:center;margin-bottom:20px}.journey-row article{flex:1;background:white;border:1px solid var(--line);padding:16px;display:flex;flex-direction:column}.journey-row article small{font:10px var(--mono);color:var(--accent)}.journey-row article strong{font-family:var(--serif);font-size:29px;font-weight:400}.journey-row article span{font-size:11px;color:var(--muted)}.journey-row>i{width:28px;height:1px;background:var(--accent);position:relative}.journey-row>i:after{content:'';position:absolute;right:0;top:-3px;border-left:5px solid var(--accent);border-block:3px solid transparent}
.performance-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.chart-card{padding-bottom:14px}.trend-chart{width:100%;height:230px;padding:20px 18px 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#eee9e2 55px)}.chart-fill{fill:#c94b2c18}.chart-stroke{fill:none;stroke:var(--accent);stroke-width:3}.trend-chart circle{fill:var(--accent)}.week-labels{display:flex;justify-content:space-between;padding:0 22px;color:var(--muted);font-size:11px}
.test-card article{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid #eeeae4}.test-card article:last-child{border:0}.test-card article>b{font:10px var(--mono);color:var(--accent)}.test-card p{font-size:13px}.test-card small{display:block;color:var(--muted);font-size:11px}.test-card article>strong{font-size:14px;color:var(--accent)}
.performance-callout{grid-template-columns:auto 1fr auto;margin-top:20px;align-items:center}.performance-callout span{border:1px solid #ffffff70;padding:7px 11px;font-size:11px}
.lead-metrics{grid-template-columns:repeat(4,1fr);margin-bottom:20px}.lead-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.lead-list article{display:grid;grid-template-columns:1fr 42px 60px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid #eeeae4}.lead-list article:last-child{border:0}.lead-list p{font-size:13px}.lead-list p small{display:block;color:var(--muted);font-size:11px}.lead-list i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f3dfd5;color:var(--accent);font-style:normal;font-weight:600}.lead-list article>span{font-size:11px;color:var(--muted)}.account-brief{padding:20px}.account-brief>b{font:10px var(--mono);color:var(--accent)}.account-brief h3{font-family:var(--serif);font-size:27px;margin-top:12px}.account-brief>p{font-size:12px;color:var(--muted);margin:10px 0 15px}.account-brief dl{margin:0}.account-brief dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eeeae4;padding:8px 0;font-size:11px}.account-brief dd{margin:0;text-align:right}.pipeline-row{display:flex;align-items:center;justify-content:center;gap:12px;background:#eee9e2;margin-top:20px;padding:14px;font-size:11px}.pipeline-row i{height:1px;width:34px;background:var(--accent)}.pipeline-row strong{color:var(--accent)}
@media(max-width:800px){.solution-visual-section{padding:70px 0}.visual-heading,.dashboard-grid,.performance-grid,.lead-grid{grid-template-columns:1fr;gap:24px}.visual-heading{margin-bottom:30px}.product-dashboard{padding:0 14px 14px}.dashboard-top{margin:0 -14px 14px;padding:15px 14px}.dashboard-top span{display:none}.market-map{height:300px}.metric-cards,.lead-metrics{grid-template-columns:repeat(2,1fr)}.journey-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.journey-row>i{display:none}.trend-chart{height:190px}.performance-callout{grid-template-columns:1fr}.lead-list article{grid-template-columns:1fr 38px}.lead-list article>span{display:none}.pipeline-row{flex-wrap:wrap;gap:8px}.pipeline-row i{width:16px}.visual-heading h2{font-size:clamp(2.5rem,10vw,4rem)}}
@media(max-width:520px){.audience-view .metric-cards{grid-template-columns:1fr 1fr}.segment-card p{grid-template-columns:1.15fr .85fr 20px;gap:7px}.journey-row article strong{font-size:24px}.performance-callout span{justify-self:start}.lead-metrics article{padding:12px}.lead-list article{padding:12px}.product-dashboard{box-shadow:none}}

/* Header colour-theme control */
.theme-toggle{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;padding:0;border:1px solid #5d5953;border-radius:50%;background:transparent;color:var(--paper);transition:background .2s,border-color .2s,transform .2s}
.theme-toggle:hover{background:#ffffff12;border-color:#8b857c;transform:translateY(-1px)}
.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.theme-toggle svg path{fill:currentColor;stroke:none}
.theme-toggle[aria-pressed="true"]{background:#d9f2ff;border-color:#8fc9e5;color:#17577b}

/* Optional light-blue theme */
html[data-theme="blue"]{--ink:#123754;--soft:#194666;--paper:#eef8fd;--white:#fff;--muted:#4f6878;--line:#c9dfe9;--accent:#1677a5;--bright:#70cef2}
html[data-theme="blue"] body{background:#eef8fd}
html[data-theme="blue"] .site-header,html[data-theme="blue"] .dark,html[data-theme="blue"] .site-footer{background:#123754}
html[data-theme="blue"] .ai-feature,html[data-theme="blue"] .solution-visual-section,html[data-theme="blue"] .detail-check{background:#dfeff7}
html[data-theme="blue"] .brands,html[data-theme="blue"] .tech-section,html[data-theme="blue"] .map-card,html[data-theme="blue"] .segment-card,html[data-theme="blue"] .chart-card,html[data-theme="blue"] .test-card,html[data-theme="blue"] .lead-list,html[data-theme="blue"] .account-brief,html[data-theme="blue"] .metric-cards article,html[data-theme="blue"] .journey-row article{background:#f9fdff}
html[data-theme="blue"] .product-dashboard{background:#eaf5fa;border-color:#b8d4e1;box-shadow:0 22px 60px #1237541c}
html[data-theme="blue"] .research-panel,html[data-theme="blue"] .research-input,html[data-theme="blue"] .research-output{background:#f8fcff;border-color:#bfd7e2}
html[data-theme="blue"] .research-steps,html[data-theme="blue"] .panel-foot,html[data-theme="blue"] .pipeline-row{background:#d8eaf3}
html[data-theme="blue"] .solution-card:hover,html[data-theme="blue"] .deliverable:hover{background:#e1f1f8}
html[data-theme="blue"] .market-map{background-color:#dcecf4;background-image:linear-gradient(32deg,transparent 48%,#f6fbfe 49%,#f6fbfe 52%,transparent 53%),linear-gradient(110deg,transparent 45%,#f6fbfe 46%,#f6fbfe 49%,transparent 50%),linear-gradient(#c3dae5 1px,transparent 1px),linear-gradient(90deg,#c3dae5 1px,transparent 1px)}
html[data-theme="blue"] .heat{background:radial-gradient(circle,#168bb899 0,#72c9e970 35%,transparent 72%)}
html[data-theme="blue"] .button,html[data-theme="blue"] .button.light,html[data-theme="blue"] .outcome-banner,html[data-theme="blue"] .ai-callout{background:#1677a5;border-color:#1677a5}
html[data-theme="blue"] .button:hover,html[data-theme="blue"] .button.light:hover{background:#0d628e;border-color:#0d628e}
html[data-theme="blue"] .text-link .arrow,html[data-theme="blue"] .under-row .arrow,html[data-theme="blue"] .check-list .arrow{filter:hue-rotate(155deg) saturate(.8)}
html[data-theme="blue"] ::selection{background:#9edaf2;color:#123754}

@media(max-width:1100px){.header-inner{gap:18px}.theme-toggle{margin-left:auto}}
@media(max-width:800px){.theme-toggle{width:40px;height:40px;flex-basis:40px;margin-left:auto}.theme-toggle svg{width:18px;height:18px}.menu-toggle{margin-left:0}}

/* AI requirements assistant */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:80;width:58px;height:58px;padding:0;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:var(--accent);color:white;box-shadow:0 12px 34px #19181640;transition:transform .2s,background .2s}
.chat-launcher:hover{background:#a93c20;transform:translateY(-2px)}
.chat-toggle-symbol{display:grid;place-items:center}
.chat-toggle-symbol svg{width:27px;height:27px}
.chat-toggle-vertical{transition:opacity .15s}
.chat-toggle-symbol.is-open .chat-toggle-vertical{opacity:0}
.chat-unread-badge{position:absolute;top:-6px;right:-6px;min-width:23px;height:23px;padding:0 6px;display:grid;place-items:center;border:2px solid var(--paper);border-radius:999px;background:var(--ink);color:white;font:700 11px/1 var(--sans);box-shadow:0 3px 10px #19181645}
.chat-unread-badge[hidden]{display:none}
.chat-launcher svg,.chat-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chat-panel{position:fixed;right:24px;bottom:94px;z-index:79;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100dvh - 122px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto auto;border:1px solid #d8d3cc;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 22px 65px #19181638;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transform-origin:bottom right;transition:opacity .2s,visibility .2s,transform .2s}
.chat-panel.open{opacity:1;visibility:visible;transform:none}
.chat-panel>header{display:flex;align-items:center;gap:13px;padding:17px 18px;background:var(--ink);color:var(--paper)}
.chat-panel>header>div:nth-child(2){display:flex;flex-direction:column;line-height:1.25}
.chat-panel>header strong{font-size:16px;font-weight:600}
.chat-panel>header span{font-size:11px;color:#bdb8b0}
.chat-mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;color:var(--bright)}
.chat-mark svg{width:22px;height:22px}
.chat-close{width:40px;height:40px;margin-left:auto;padding:0;border:0;background:transparent;color:white;font:300 33px/1 var(--sans)}
.chat-messages{min-height:0;padding:20px 18px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.chat-message{width:fit-content;max-width:88%;margin-bottom:12px;padding:12px 14px;border-radius:14px;background:#e9e5df;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-message.user{margin-left:auto;border-bottom-right-radius:4px;background:var(--accent);color:white}
.chat-message.assistant{border-bottom-left-radius:4px}
.chat-message.agent{border:1px solid #a9c9b5;border-bottom-left-radius:4px;background:#e2efe6}
.chat-message.loading{color:var(--muted);font-style:italic}
.chat-message.error{border:1px solid #dba590;background:#f7e5dd;color:#79301e}
.chat-profile{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:8px 18px 6px}
.chat-profile[hidden],.chat-actions[hidden],.chat-form[hidden]{display:none}
.chat-profile label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:600}
.chat-profile input{width:100%;min-width:0;padding:9px 10px;border:1px solid #aaa49b;border-radius:9px;background:white;color:var(--ink);font:13px/1.3 var(--sans)}
.chat-profile input:focus{outline:2px solid #c44c2c30;border-color:var(--accent)}
.chat-profile button{grid-column:1/-1;padding:10px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:white;font-size:13px;font-weight:600}
.chat-profile button:disabled{opacity:.6;cursor:wait}
.chat-profile-status{grid-column:1/-1;min-height:14px;margin:0;color:var(--muted);font-size:10px;line-height:1.3;text-align:center}
.chat-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 18px 12px}
.chat-choices[hidden]{display:none}
.chat-choices button{padding:9px 10px;border:1px solid #aaa49b;border-radius:999px;background:transparent;color:var(--ink);font-size:12px;line-height:1.3}
.chat-choices button:hover{border-color:var(--accent);color:var(--accent)}
.chat-actions{display:grid;gap:8px;padding:8px 18px 2px}
.chat-agent{width:100%;padding:10px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:white;font-size:13px;font-weight:600}
.chat-agent:hover{background:#a93c20;border-color:#a93c20}
.chat-agent:disabled{opacity:.7;cursor:default}
.chat-handoff{padding:0}
.chat-handoff[hidden]{display:none}
.chat-handoff button{width:100%;padding:10px 14px;border:1px solid var(--accent);border-radius:999px;background:#f2ded6;color:var(--accent);font-size:13px;font-weight:600}
.chat-form{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:8px;margin:10px 18px 0;padding:7px 7px 7px 14px;border:1px solid #8e8880;border-radius:18px;background:white}
.chat-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #c44c2c20}
.chat-form textarea{width:100%;max-height:112px;min-height:28px;padding:4px 0;border:0;outline:0;resize:none;background:transparent;color:var(--ink);font-size:14px;line-height:1.45}
.chat-form textarea::placeholder{color:#837e77}
.chat-form button{width:42px;height:42px;padding:10px;border:0;border-radius:12px;background:var(--accent);color:white}
.chat-form button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chat-form.busy button{opacity:.55;cursor:wait}
.chat-note{padding:8px 18px 13px;text-align:center;color:var(--muted);font-size:10px;line-height:1.35}
html[data-theme="blue"] .chat-panel{background:#eef8fd;border-color:#afd0df;box-shadow:0 22px 65px #12375438}
html[data-theme="blue"] .chat-panel>header{background:#123754}
html[data-theme="blue"] .chat-message.assistant{background:#dceef6}
html[data-theme="blue"] .chat-message.agent{background:#dcefe8;border-color:#8cb9a2}
html[data-theme="blue"] .chat-message.error{background:#e8f2f7;color:#264f66;border-color:#99c4d7}
html[data-theme="blue"] .chat-profile input{background:#f9fdff;border-color:#7faec3}
html[data-theme="blue"] .chat-handoff button{background:#dceef6}
html[data-theme="blue"] .chat-form{background:#f9fdff;border-color:#7faec3}
@media(max-width:600px){body.chat-open{overflow:hidden}.chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:54px;height:54px}.chat-panel{right:10px;bottom:max(80px,calc(env(safe-area-inset-bottom) + 76px));width:calc(100vw - 20px);height:min(620px,calc(100dvh - 98px - env(safe-area-inset-bottom)));border-radius:16px}.chat-panel>header{padding:14px}.chat-messages{padding:16px 14px 6px}.chat-profile{padding:7px 14px 5px}.chat-choices{padding:7px 14px 10px}.chat-actions{padding-inline:14px}.chat-form{margin-inline:14px}.chat-note{padding-inline:14px}.chat-message{max-width:92%;font-size:13px}}
