:root{
  --night: #0E1526;
  --night-2: #161F35;
  --night-3: #202B47;
  --sand: #F2EEE3;
  --sand-2: #EAE4D3;
  --ink: #1B2333;
  --ink-soft: #4B5468;
  --amber: #E4A63F;
  --amber-deep: #C88B26;
  --emerald: #2E8B67;
  --line: rgba(27,35,51,0.12);
  --line-dark: rgba(242,238,227,0.14);
  --radius: 4px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  background:var(--sand);
  color:var(--ink);
  line-height:1.55;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:600;
  line-height:1.12;
  letter-spacing:-0.01em;
  color:inherit;
}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:1160px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ---------- NAV ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(242,238,227,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.brand{display:flex; align-items:center; gap:10px;}
.brand-mark{
  width:30px; height:30px; border-radius:7px;
  background:var(--night);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.brand-mark svg, .brand-mark img{width:16px; height:16px;}
.brand-name{font-family:'Fraunces', serif; font-weight:600; font-size:20px;}
.brand-sub{font-size:11px; color:var(--ink-soft); letter-spacing:0.02em; margin-top:-2px;}
nav.links{display:flex; align-items:center; gap:34px;}
nav.links a{font-size:14.5px; font-weight:500; color:var(--ink-soft); transition:color .15s;}
nav.links a:hover{color:var(--ink);}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 22px; border-radius:var(--radius);
  font-size:14.5px; font-weight:600; cursor:pointer;
  border:1px solid transparent; white-space:nowrap;
}
.btn-primary{background:var(--amber); color:var(--night);}
.btn-primary:hover{background:var(--amber-deep);}
.btn-outline-dark{border-color:var(--line); color:var(--ink); background:transparent;}
.btn-outline-dark:hover{border-color:var(--ink); }
.btn-outline-light{border-color:var(--line-dark); color:var(--sand); background:transparent;}
.btn-outline-light:hover{border-color:var(--sand);}
.navtoggle{display:none; background:none; border:none; cursor:pointer; padding:4px;}
.navtoggle span{display:block; width:22px; height:2px; background:var(--ink); margin:5px 0;}
nav.links .menu-cta{display:none;}
@media(max-width:880px){
  nav.links{display:none;}
  .nav .btn-primary.desktop-only{display:none;}
  .navtoggle{display:block;}
  /* Phone menu: a panel that drops down under the sticky header. */
  header.nav-open nav.links{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    position:absolute; top:100%; left:0; right:0;
    padding:8px 20px 20px; background:var(--sand);
    border-bottom:1px solid var(--line); box-shadow:0 18px 30px rgba(14,21,38,.12);
  }
  header.nav-open nav.links a{font-size:16px; padding:14px 2px; border-bottom:1px solid var(--line); color:var(--ink);}
  header.nav-open nav.links .menu-cta{display:flex; justify-content:center; margin-top:16px; border-bottom:0; padding:14px 23px; color:var(--night);}
  .navtoggle span{transition:transform .2s ease, opacity .2s ease;}
  header.nav-open .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.nav-open .navtoggle span:nth-child(2){opacity:0;}
  header.nav-open .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}

/* ---------- HERO ---------- */
.hero{
  background:var(--night); color:var(--sand);
  padding:88px 0 100px;
  overflow:hidden;
  position:relative;
}
.hero .wrap{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center;
}
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr; gap:56px;}
  .hero{padding:56px 0 64px;}
}
.eyebrow-plain{
  font-size:14px; color:var(--amber); font-weight:600; margin-bottom:18px;
}
.hero h1{
  font-size:clamp(34px, 4.6vw, 56px);
  max-width:12.5ch;
}
.hero p.lead{
  margin-top:22px; font-size:18px; color:rgba(242,238,227,0.78);
  max-width:46ch;
}
.hero-cta{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.hero-note{
  margin-top:28px; font-size:13.5px; color:rgba(242,238,227,0.55);
  border-top:1px solid var(--line-dark); padding-top:18px; max-width:44ch;
}

/* phone mockup */
.phone{
  background:linear-gradient(180deg,#1B2540,#111a30);
  border:1px solid rgba(242,238,227,0.12);
  border-radius:28px;
  padding:14px;
  width:100%; max-width:340px; margin:0 auto;
  box-shadow:0 40px 80px -30px rgba(0,0,0,0.6);
}
.phone-screen{
  background:#0B1122;
  border-radius:18px;
  padding:18px 14px 16px;
  min-height:460px;
  display:flex; flex-direction:column;
}
.phone-topbar{
  display:flex; align-items:center; gap:10px;
  padding-bottom:14px; margin-bottom:14px;
  border-bottom:1px solid rgba(242,238,227,0.08);
}
.phone-avatar{
  width:32px; height:32px; border-radius:50%;
  background:var(--emerald);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; color:#fff; font-family:'Inter';
}
.phone-topbar .who{font-size:13.5px; font-weight:600; color:var(--sand);}
.phone-topbar .status{font-size:11.5px; color:var(--emerald);}
.phone-msgs{flex:1; display:flex; flex-direction:column; gap:10px; justify-content:flex-end;}
.msg{
  max-width:82%; padding:10px 13px; border-radius:14px;
  font-size:13.5px; line-height:1.42; opacity:0; transform:translateY(6px);
  animation:msgin .5s ease forwards;
}
.msg.in{
  align-self:flex-start; background:#1E2A48; color:rgba(242,238,227,0.85);
  border-bottom-left-radius:4px;
}
.msg.out{
  align-self:flex-end; background:var(--emerald); color:#fff;
  border-bottom-right-radius:4px;
}
.msg.card{
  align-self:flex-start; background:#1E2A48; border:1px solid rgba(228,166,63,0.4);
  border-bottom-left-radius:4px; padding:12px 13px;
}
.msg.card .tag{font-size:10.5px; color:var(--amber); font-weight:700; letter-spacing:0.02em; margin-bottom:4px;}
.msg.card .pay{
  margin-top:9px; display:inline-block; background:var(--amber); color:var(--night);
  font-size:12px; font-weight:700; padding:6px 12px; border-radius:8px;
}
@keyframes msgin{ to{opacity:1; transform:translateY(0);} }
.m1{animation-delay:.2s;} .m2{animation-delay:1.0s;} .m3{animation-delay:1.9s;} .m4{animation-delay:2.9s;}

/* ---------- SECTION SHELL ---------- */
section{padding:96px 0;}
@media(max-width:640px){section{padding:64px 0;}}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head .kicker{color:var(--emerald); font-weight:600; font-size:14.5px; margin-bottom:14px;}
.section-head h2{font-size:clamp(26px,3.2vw,38px);}
.section-head p{margin-top:16px; font-size:16.5px; color:var(--ink-soft); max-width:56ch;}

/* ---------- PROBLEM ---------- */
.problem-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
@media(max-width:800px){.problem-grid{grid-template-columns:1fr;}}
.problem-card{background:var(--sand); padding:32px 30px;}
.problem-card h3{font-size:19px; margin-bottom:10px; font-weight:600;}
.problem-card p{color:var(--ink-soft); font-size:15px;}
.problem-card .n{
  font-family:'Fraunces',serif; font-size:15px; color:var(--amber-deep);
  margin-bottom:16px; font-weight:600;
}

/* ---------- PILLARS ---------- */
.pillar{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center;
  padding:56px 0; border-top:1px solid var(--line);
}
.pillar:last-child{padding-bottom:0;}
@media(max-width:880px){.pillar{grid-template-columns:1fr; gap:34px;}}
.pillar.reverse .pillar-visual{order:2;}
.pillar.reverse .pillar-copy{order:1;}
@media(max-width:880px){.pillar.reverse .pillar-visual, .pillar.reverse .pillar-copy{order:initial;}}
.pillar-copy .index{font-size:14px; font-weight:700; color:var(--emerald); margin-bottom:12px;}
.pillar-copy h3{font-size:26px; margin-bottom:14px;}
.pillar-copy p{color:var(--ink-soft); font-size:16px; margin-bottom:18px;}
.pillar-copy ul{list-style:none;}
.pillar-copy li{
  font-size:14.5px; color:var(--ink); padding:9px 0 9px 22px; position:relative;
  border-top:1px solid var(--line);
}
.pillar-copy li:first-child{border-top:none;}
.pillar-copy li::before{
  content:''; position:absolute; left:0; top:16px; width:7px; height:7px;
  border-radius:50%; background:var(--amber);
}
.pillar-visual{
  background:var(--night); border-radius:6px; padding:34px;
  min-height:240px; display:flex; align-items:center; justify-content:center;
}
.pillar-visual svg{width:100%; height:auto; max-width:320px;}

/* ---------- HOW IT WORKS ---------- */
.steps{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
@media(max-width:880px){.steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.steps{grid-template-columns:1fr;}}
.step{
  padding:30px 26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
}
.step .num{font-family:'Fraunces',serif; font-size:30px; color:var(--sand-2); -webkit-text-stroke:1.3px var(--ink); color:transparent; margin-bottom:18px; display:block;}
.step h4{font-size:16.5px; margin-bottom:9px; font-weight:600;}
.step p{font-size:14.5px; color:var(--ink-soft);}

/* ---------- CHANNEL BAND ---------- */
.channel{background:var(--night-2); color:var(--sand);}
.channel .wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
@media(max-width:880px){.channel .wrap{grid-template-columns:1fr;}}
.channel h2{font-size:clamp(24px,3vw,32px); max-width:14ch;}
.channel p{margin-top:18px; color:rgba(242,238,227,0.72); font-size:16px; max-width:48ch;}
.channel-points{display:flex; flex-direction:column; gap:0;}
.channel-point{padding:20px 0; border-top:1px solid var(--line-dark);}
.channel-point:last-child{border-bottom:1px solid var(--line-dark);}
.channel-point h4{font-size:15.5px; font-weight:600; margin-bottom:6px; color:var(--sand);}
.channel-point p{font-size:14.5px; color:rgba(242,238,227,0.62); margin-top:0;}

/* ---------- FOR OPERATORS ---------- */
.operators-list{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:28px;
}
.operator-chip{
  border:1px solid var(--line); padding:10px 18px; border-radius:999px;
  font-size:14px; font-weight:500; color:var(--ink-soft);
}
.operators-note{margin-top:22px; font-size:13.5px; color:var(--ink-soft); max-width:60ch; font-style:italic;}

/* ---------- PRICING ---------- */
.pricing-band{
  background:var(--sand-2); border-radius:6px; padding:48px;
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
}
@media(max-width:800px){.pricing-band{grid-template-columns:1fr; padding:34px 26px;}}
.pricing-formula{
  font-family:'Fraunces', serif; font-size:clamp(20px,2.6vw,28px); line-height:1.4;
}
.pricing-formula .term{color:var(--emerald);}
.pricing-band p.small{margin-top:14px; color:var(--ink-soft); font-size:14.5px; max-width:52ch;}

/* ---------- CONTACT ---------- */
.contact{background:var(--night); color:var(--sand);}
.contact .wrap{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
@media(max-width:880px){.contact .wrap{grid-template-columns:1fr; gap:40px;}}
.contact h2{font-size:clamp(26px,3.2vw,36px); max-width:12ch;}
.contact p.lead{margin-top:16px; color:rgba(242,238,227,0.7); max-width:44ch;}
.form-row{display:flex; flex-direction:column; gap:6px; margin-bottom:18px;}
.form-row label{font-size:13px; color:rgba(242,238,227,0.6);}
.form-row input, .form-row select, .form-row textarea{
  background:var(--night-2); border:1px solid var(--line-dark); border-radius:4px;
  padding:12px 14px; color:var(--sand); font-family:'Inter'; font-size:14.5px;
}
.form-row textarea{resize:vertical; min-height:90px;}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  outline:2px solid var(--amber); outline-offset:1px; border-color:transparent;
}
.form-two{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:480px){.form-two{grid-template-columns:1fr;}}
.form-note{margin-top:6px; font-size:13px; color:rgba(242,238,227,0.5);}

/* ---------- FOOTER ---------- */
footer{background:var(--night); border-top:1px solid var(--line-dark); padding:36px 0; color:rgba(242,238,227,0.55);}
footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
footer .fbrand{display:flex; align-items:center; gap:9px; color:var(--sand); font-size:14px;}
footer .flinks{display:flex; gap:24px; font-size:13.5px;}
footer .flinks a:hover{color:var(--sand);}

.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
a:focus-visible, button:focus-visible{outline:2px solid var(--amber); outline-offset:2px;}

.channel-switch{display:flex;gap:6px;padding:0 0 12px}.channel-switch button{flex:1;border:0;border-radius:9px;padding:9px;background:#263149;color:#fff;cursor:pointer}.channel-switch button[aria-pressed="true"]{background:#d9fdd3;color:#123d30;font-weight:700}
#live-phone{padding:0;overflow:hidden;height:570px;min-height:0;background:#efeae2;color:#172a26}
#live-phone .phone-topbar{margin:0;padding:15px 12px;background:#075e54;border:0;flex-shrink:0}#live-phone .who{color:white}#live-phone .status{color:#cde9e2}
#restart-chat{margin-left:auto;background:transparent;border:0;color:inherit;font-size:25px;cursor:pointer;color:white}
#live-log{padding:14px 12px;overflow-y:auto;justify-content:flex-start;min-height:0;scroll-behavior:smooth}
#live-phone .msg{max-width:91%;flex-shrink:0;white-space:pre-line;opacity:1;transform:none;animation:msgin .2s ease both;font-size:13px}
#live-phone .msg.in{background:white;color:#20312d;box-shadow:0 1px 2px #0001}#live-phone .msg.out{background:#d9fdd3;color:#17372b}
#live-actions{padding:8px 12px;display:grid;gap:5px;flex-shrink:0;border-top:1px solid #0001;max-height:205px;overflow-y:auto}#live-actions:empty{display:none}
#live-actions button{font:inherit;font-size:12px;padding:9px;border:1px solid #d4ded9;border-radius:7px;background:#fff;color:#075e54;cursor:pointer;text-align:left}#live-actions button:hover{background:#e0f5e9}
.chat-footnote{font-size:9px;text-align:center;padding:7px 3px;color:#52615d;flex-shrink:0;background:#fff8}
#live-phone.sms{background:#fff}#live-phone.sms .phone-topbar{background:#f1f2f5}#live-phone.sms .who,#live-phone.sms #restart-chat{color:#162039}#live-phone.sms .status{color:#637080}#live-phone.sms .msg.in{background:#e9e9ed;color:#202633}#live-phone.sms .msg.out{background:#087dff;color:white}#live-phone.sms .phone-avatar{background:#9199a6}#live-phone.sms #live-actions button{color:#006bdf}
#sms-reply:not([hidden]){display:flex;gap:6px;padding:8px}#sms-text{min-width:0;width:100%;border:1px solid #ccd0d7;border-radius:18px;padding:9px;font-size:12px}#sms-reply button{border:0;border-radius:15px;background:#087dff;color:white;padding:8px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(prefers-reduced-motion:reduce){#live-phone .msg{animation:none}#live-log{scroll-behavior:auto}}


/* Partner-facing presentation */
:root{--sand:#f7f6f1;--sand-2:#ecefe9;--night:#0d2029;--amber:#e8b65a;--radius:10px}
.nav{padding:18px 32px}.brand-name{font-size:25px}nav.links{gap:22px}nav.links a{font-size:13px}
.hero{background:radial-gradient(ellipse at 85% 30%,#19483f 0,transparent 55%),#0d2029;padding:70px 0 76px}.hero h1{font-size:clamp(43px,5.4vw,70px);max-width:12ch;letter-spacing:-.045em;line-height:1.04}.hero h1 em{font-weight:400;color:#b7dbc8}.hero p.lead{font-size:19px;line-height:1.7}.eyebrow-plain{letter-spacing:.16em;font-size:11px}.hero-note{color:#b2c5c4}.phone{max-width:360px;background:#132e34;border-color:#ffffff28;box-shadow:0 24px 70px #0005}.btn{padding:14px 23px}.industry-strip{border-bottom:1px solid var(--line);padding:24px 0}.industry-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.industry-strip span{font-size:10px;letter-spacing:.14em;color:#53685e;max-width:190px}.industry-strip div div{font-size:14px;font-weight:600}.industry-strip i{font-style:normal;color:#aaa;margin:0 14px}.section-head{max-width:770px}.section-head h2,.journey-intro h2,.why-now h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.035em}.section-head p{line-height:1.8}.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.benefit{padding:35px;border:1px solid #dce3dc;border-radius:18px;background:#fff;display:flex;flex-direction:column}.benefit.featured{background:#e5efe7;border-color:#cdded0}.benefit-number{font-size:11px;letter-spacing:.14em;color:#397157;font-weight:700}.benefit h3{font-size:29px;margin:28px 0 14px;max-width:15ch}.benefit p{font-size:15px;line-height:1.8;color:#52625e;max-width:43ch}.benefit-outcome{margin-top:26px;padding-top:18px;border-top:1px solid #dce3dc;font-size:13px;font-weight:600}.journey-section{background:#102b2b;color:#f5f6ef}.journey-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:85px}.journey-intro .kicker{color:#a6d3ba;margin-bottom:20px}.journey-intro p{color:#bacec8;margin:24px 0;max-width:32ch}.journey-steps article{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid #ffffff25}.journey-steps article:first-child{padding-top:0}.journey-steps article>span{font-size:12px;color:#e8b65a;padding-top:6px}.journey-steps h3{font-size:25px;margin-bottom:12px}.journey-steps p{color:#bacec8;font-size:15px}.sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.sector-grid article{border-top:2px solid #6b9c83;padding-top:24px}.sector-grid h3{font-size:24px;margin-bottom:14px}.sector-grid p,.trust-row p{color:#52625e;font-size:15px;line-height:1.8}.trust-row{margin-top:60px;padding:30px;background:#e9eee7;border-radius:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.trust-row strong{display:block;margin-bottom:8px;font-size:14px}.trust-row p{font-size:13px}.why-now{background:#e7bd74;color:#162a27;padding:68px 0}.why-now .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.why-now .kicker{font-size:12px;margin-bottom:16px}.why-now p{line-height:1.8}.why-now .btn{margin-top:25px;background:#153c32;color:#fff}.contact{background:#0d2029}.contact h2{font-size:clamp(32px,4vw,46px)}.contact form{background:#ffffff09;border:1px solid #ffffff20;padding:28px;border-radius:18px}section[id],#live-phone,#demo{scroll-margin-top:100px}footer .flinks{flex-wrap:wrap}
@media(max-width:900px){.hero .wrap{gap:38px}.hero h1{max-width:16ch}.industry-strip .wrap{flex-direction:column;text-align:center}.industry-strip span{max-width:none}.journey-section .wrap,.why-now .wrap{grid-template-columns:1fr;gap:35px}}
@media(max-width:640px){.nav{padding:16px 20px}.benefit-grid,.sector-grid,.trust-row{grid-template-columns:1fr}.benefit{padding:26px}.benefit h3{max-width:none}.industry-strip div div{font-size:12px;line-height:2}.industry-strip i{margin:0 5px}.contact form{padding:20px}.hero h1{font-size:46px}.hero p.lead{font-size:17px}.trust-row{gap:20px}.hero-cta .btn{font-size:13px;padding:12px 16px}}


.customer-insights{background:#fffef9;padding:80px 0 72px;border-bottom:1px solid #e2e6de}.insights-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end;margin-bottom:48px}.insights-heading .kicker{font-size:10px;letter-spacing:.16em;color:#397157;font-weight:700;margin-bottom:17px}.insights-heading h2{font-size:clamp(30px,3.6vw,43px);letter-spacing:-.035em;line-height:1.15}.insights-heading h2 em{color:#397157;font-weight:400}.insights-heading>p{font-size:15px;color:#52625e;line-height:1.8}.insight-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;margin:0}.insight-step{position:relative}.insight-step:not(:last-child):after{content:'→';position:absolute;top:40px;right:-20px;color:#7a9687;font-size:23px}.insight-art{height:112px;position:relative;margin-bottom:22px;display:flex;align-items:center}.insight-art svg{width:100px;height:100px;color:#245744;padding:9px;border-radius:24px;background:#eef4eb}.insight-art span{margin-left:16px;font-size:11px;color:#687d70;letter-spacing:.1em}.insight-step h3{font-size:24px;margin-bottom:15px;letter-spacing:-.02em}.insight-step strong{display:block;font-size:13px;line-height:1.6;margin-bottom:9px;font-weight:600}.insight-step p{font-size:13px;line-height:1.8;color:#607168}.insight-example{margin-top:44px;padding:26px 32px;border:1px solid #dce6d9;border-radius:16px;background:#f2f5ed}.example-label{font-size:9px;font-weight:700;letter-spacing:.13em;color:#397157}.example-path{display:grid;grid-template-columns:1.2fr auto 1fr auto 1fr;gap:24px;align-items:center;margin:20px 0}.example-path blockquote{font-family:'Fraunces',serif;font-size:23px;line-height:1.3}.example-path>span{color:#7a9687}.example-path p{font-size:13px;line-height:1.7;color:#52625e}.example-path strong{font-weight:600;color:#1b3830}.example-note{font-size:11px;color:#67766c;border-top:1px solid #dce6d9;padding-top:14px}
@media(max-width:900px){.insights-heading{grid-template-columns:1fr;gap:22px}.insight-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.insight-step:nth-child(2):after{display:none}.example-path{gap:14px}.example-path blockquote{font-size:19px}}
@media(max-width:580px){.customer-insights{padding:54px 0}.insight-flow{grid-template-columns:1fr;gap:28px}.insight-step{padding-left:88px;min-height:114px}.insight-art{position:absolute;left:0;top:0;width:66px;height:84px;display:block}.insight-art svg{width:66px;height:66px;border-radius:17px}.insight-art span{display:block;margin:5px 0 0;text-align:center}.insight-step:not(:last-child):after{content:'↓';top:auto;bottom:-22px;left:27px;right:auto;font-size:18px}.insight-step:nth-child(2):after{display:block}.insight-step h3{font-size:23px;margin-bottom:10px}.insights-heading{margin-bottom:34px}.insight-example{padding:24px}.example-path{grid-template-columns:1fr;gap:12px}.example-path>span{transform:rotate(90deg);width:18px}.example-path blockquote{font-size:23px}}


/* Customer photography under the existing dark teal brand overlay. */
.hero{background-color:#0d2029;background-image:linear-gradient(90deg,rgba(9,29,37,.96) 0%,rgba(9,29,37,.91) 34%,rgba(12,49,47,.55) 59%,rgba(10,43,40,.79) 100%),url('../assets/happy-customer-hero.jpg');background-size:cover;background-position:center 38%;background-repeat:no-repeat}.hero .wrap{position:relative;z-index:1}.hero .phone{margin-right:0}.hero p.lead{color:#e0e7e3}.hero-note{color:#c3d1cb}.channel-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px}.channel-switch svg{width:20px;height:20px;flex-shrink:0}.channel-switch button[data-channel="sms"][aria-pressed="true"]{background:#dcecff;color:#1260a6}
@media(max-width:900px){.hero{background-image:linear-gradient(180deg,rgba(9,29,37,.85),rgba(9,29,37,.89) 48%,rgba(10,43,40,.96)),url('../assets/happy-customer-hero.jpg');background-position:58% top}.hero .phone{margin-left:auto;margin-right:auto}}


/* Shift the photo independently so the customer's handset clears the chat panel. */
@media(min-width:901px){.hero{background-position:center,calc(50% - 210px) 38%;background-size:cover,cover}.hero .wrap{grid-template-columns:1.05fr .95fr}.hero .phone{margin-right:-24px}.hero{background-image:linear-gradient(90deg,rgba(9,29,37,.96) 0%,rgba(9,29,37,.91) 30%,rgba(12,49,47,.44) 55%,rgba(10,43,40,.78) 100%),url('../assets/happy-customer-hero.jpg')}}
@media(min-width:901px) and (max-width:1200px){.hero .phone{margin-right:0}.hero{background-position:center,calc(50% - 160px) 38%}}

/* ---------- UTILITIES (moved from inline styles) ---------- */
.brand-mark-sm{width:24px; height:24px;}
.brand-mark-sm img{width:14px; height:14px;}
.nav-actions{display:flex; align-items:center; gap:12px;}
.btn-block{width:100%;}

/* ---------- CONTACT BACKGROUND PHOTO ---------- */
/* Drop the photo at assets/contact-bg.jpg. Until then the overlay falls back to the plain dark section. */
.contact{
  background-color:#0d2029;
  background-image:linear-gradient(90deg,rgba(9,29,37,.9) 0%,rgba(9,29,37,.72) 40%,rgba(12,49,47,.5) 62%,rgba(10,43,40,.72) 100%),url('../assets/contact-bg.jpg');
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
.contact form{backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); background:rgba(13,32,41,.55);}
@media(max-width:880px){
  .contact{background-image:linear-gradient(180deg,rgba(9,29,37,.88),rgba(9,29,37,.92) 45%,rgba(10,43,40,.97)),url('../assets/contact-bg.jpg'); background-position:60% top;}
}

/* "Try the conversation" only on stacked layouts, where the phone demo sits below the fold */
@media(min-width:901px){.hero-cta .mobile-only{display:none;}}

/* ---------- LANGUAGE SWITCHER ---------- */
.lang-switch{display:flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.35);}
.lang-switch button{display:flex; align-items:center; gap:6px; font:600 12px/1 'Inter',sans-serif; letter-spacing:.04em; color:var(--ink-soft); background:transparent; border:0; border-radius:6px; padding:7px 9px; cursor:pointer;}
.lang-switch img{width:20px; height:14px; border-radius:3px; object-fit:cover; box-shadow:0 0 0 1px rgba(27,35,51,.18); flex-shrink:0;}
.lang-switch button[aria-pressed="true"] img{box-shadow:0 0 0 1px rgba(242,238,227,.5);}
.lang-switch button:hover{color:var(--ink);}
.lang-switch button[aria-pressed="true"]{background:var(--night); color:var(--sand);}
.lang-switch button:focus-visible{outline:2px solid var(--amber); outline-offset:1px;}
/* Phones: flags only, so the header keeps the motto and menu button on one row. */
@media(max-width:560px){.lang-switch button{padding:6px 5px;} .lang-switch button span{display:none;} .nav-actions{gap:8px;} .brand-sub{font-size:10px; letter-spacing:0;}}

/* ---------- ENQUIRY FORM STATES ---------- */
.hp{position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden;}
.form-note.is-ok{color:#9fe0bd;}
.form-note.is-error{color:#f3b2a6;}
#demo-form button[disabled]{opacity:.7; cursor:progress;}

/* ---------- PRIVACY NOTE (under the enquiry form) ---------- */
.privacy{margin-top:14px; font-size:12.5px; line-height:1.6; color:rgba(242,238,227,.62);}
.privacy summary{list-style:none; cursor:pointer;}
.privacy summary::-webkit-details-marker{display:none;}
.privacy-more{color:var(--sand); text-decoration:underline; text-underline-offset:3px; white-space:nowrap;}
.privacy-more::after{content:' ↓'; text-decoration:none; display:inline-block; margin-left:2px; transition:transform .15s;}
.privacy[open] .privacy-more::after{transform:rotate(180deg);}
.privacy summary:focus-visible{outline:2px solid var(--amber); outline-offset:3px; border-radius:4px;}
.privacy ul{margin:12px 0 0; padding-left:18px; display:grid; gap:8px;}
.privacy strong{color:var(--sand); font-weight:600;}
.privacy a{color:var(--sand); text-decoration:underline; text-underline-offset:2px; word-break:break-word;}

/* ---------- FOOTER BOTTOM ROW ---------- */
footer .fbottom{position:relative; margin-top:26px; padding-top:22px; font-size:13px;}
/* Divider drawn inside the .wrap gutters so it lines up with the content above and below. */
footer .fbottom::before{content:''; position:absolute; top:0; left:32px; right:32px; border-top:1px solid var(--line-dark);}
@media(max-width:640px){footer .fbottom::before{left:20px; right:20px;}}
footer .fcontact{display:flex; flex-wrap:wrap; gap:8px 22px;}
footer .fcontact a{color:rgba(242,238,227,.75); text-decoration:underline; text-underline-offset:3px;}
footer .fcontact a:hover{color:var(--sand);}
#privacy{scroll-margin-top:140px;}
