/* Linknector public website - shared stylesheet.
   Base: the design system of the original landing page
   (docs/reference/landing/linknector-landing.html), kept verbatim below; extensions for the
   approved landing prototype and the public pages follow it. */

:root{
  --coral:#E8734F;
  --coral-dark:#D25E3B;
  --coral-tint:#FBE8E0;
  --navy:#26404B;
  --navy-deep:#182931;
  --navy-mid:#518296;
  --teal:#3E6677;
  --teal-dark:#26404B;
  --teal-tint:#DBEAF0;
  --ink:#1C2B30;
  --ink-soft:#50646B;
  --cream:#F7F3EA;
  --paper:#F1EEE6;
  --line:#E4DED0;
  --white:#FFFFFF;
  --shadow-coral: 0 14px 30px -10px rgba(232,115,79,.42);
  --shadow-navy: 0 20px 45px -18px rgba(24,41,49,.35);
  --shadow-soft: 0 10px 30px -14px rgba(38,64,75,.18);
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 10px;
  --font-display:'Plus Jakarta Sans', sans-serif;
  --font-body:'Inter', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;color:var(--navy);letter-spacing:-0.01em;}
p{margin:0;}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
section{position:relative;}
section[id]{scroll-margin-top:90px;}

:focus-visible{outline:2.5px solid var(--teal);outline-offset:3px;border-radius:4px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;
  border:1.5px solid transparent;transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--coral);color:#fff;box-shadow:var(--shadow-coral);}
.btn-primary:hover{background:var(--coral-dark);transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(232,115,79,.5);}
.btn-ghost-navy{background:transparent;color:var(--navy);border-color:rgba(38,64,75,.22);}
.btn-ghost-navy:hover{border-color:var(--navy);background:rgba(38,64,75,.05);transform:translateY(-2px);}
.btn-outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px);}
.btn-teal{background:var(--teal);color:#fff;box-shadow:0 14px 30px -10px rgba(62,102,119,.45);}
.btn-teal:hover{background:var(--teal-dark);transform:translateY(-2px);}
.btn-sm{padding:10px 18px;font-size:13.5px;}
.btn-full{width:100%;}

/* ---------- Top bar ---------- */
.topbar{
  position:sticky;top:0;z-index:100;
  background:rgba(247,243,234,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.topbar.scrolled{border-color:var(--line);box-shadow:0 6px 24px -18px rgba(38,64,75,.3);}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px;}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:700;font-size:21px;color:var(--navy);}
.brand img{width:38px;height:38px;border-radius:10px;}
.nav-links{display:flex;align-items:center;gap:6px;}
.nav-links a{padding:10px 14px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--navy);transition:background .2s ease,color .2s ease;}
.nav-links a:hover{background:rgba(38,64,75,.06);}
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-signin{font-size:14.5px;font-weight:600;color:var(--navy);padding:10px 8px;}
.nav-signin:hover{color:var(--coral);}
.hamburger{display:none;background:none;border:none;padding:8px;color:var(--navy);}
.hamburger svg{width:24px;height:24px;}

.mobile-panel{
  position:fixed;inset:0 0 0 auto;width:min(86vw,340px);background:var(--white);
  z-index:200;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:-20px 0 50px -20px rgba(24,41,49,.4);padding:28px 26px;overflow-y:auto;
}
.mobile-panel.open{transform:translateX(0);}
.mobile-scrim{position:fixed;inset:0;background:rgba(24,41,49,.42);z-index:199;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.mobile-scrim.open{opacity:1;pointer-events:auto;}
.mobile-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.mobile-panel a.m-link{display:block;padding:14px 4px;font-size:17px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--line);}
.mobile-panel .m-actions{margin-top:22px;display:flex;flex-direction:column;gap:12px;}
.close-x{background:none;border:none;color:var(--navy);padding:6px;}

/* ---------- Hero ---------- */
.hero{padding:64px 0 86px;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.02fr 0.98fr;align-items:center;gap:30px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--teal-dark);background:var(--teal-tint);padding:8px 14px;border-radius:999px;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--coral);}
.hero-copy{max-width:560px;}
.hero h1{
  font-size:clamp(27px,3.2vw,38px);line-height:1.18;font-weight:800;margin:18px 0 18px;color:var(--ink);
}
.hero h1 .hl-teal{color:var(--teal);}
.hero h1 .hl-coral{color:var(--coral);}
.hero-sub{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:480px;}

.lmn-card{
  margin-top:34px;background:var(--navy);background-image:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
  border-radius:var(--radius-lg);padding:28px;box-shadow:0 10px 26px -16px rgba(24,41,49,.3);position:relative;overflow:hidden;
  z-index:1;
}
.lmn-card::before{
  content:"";position:absolute;inset:-46px;z-index:-1;border-radius:inherit;
  background:inherit;background-image:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
  filter:blur(42px);opacity:.38;
}
.lmn-card::after{content:"";position:absolute;top:-80px;right:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(232,115,79,.28), transparent 70%);}
.lmn-label{font-size:11.5px;font-weight:700;letter-spacing:.09em;color:rgba(255,255,255,.62);text-transform:uppercase;}
.lmn-card h3{color:#fff;font-size:21px;margin:10px 0 6px;line-height:1.3;}
.lmn-card p{color:rgba(255,255,255,.72);font-size:14.5px;line-height:1.55;margin-bottom:20px;}
.lmn-search{display:flex;gap:10px;background:#fff;border-radius:16px;padding:7px 7px 7px 20px;align-items:center;box-shadow:0 18px 40px -16px rgba(0,0,0,.35);position:relative;z-index:1;}
.lmn-search input{flex:1;border:none;outline:none;font-family:var(--font-body);font-size:15.5px;color:var(--ink);background:transparent;min-width:0;}
.lmn-search input::placeholder{color:#9AA7AC;}
.lmn-mic{width:40px;height:40px;border-radius:50%;background:var(--paper);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.03em;position:relative;}
.lmn-mic svg{width:17px;height:17px;}
.lmn-search .btn{flex-shrink:0;}
.spark-field{position:relative;height:0;overflow:visible;z-index:2;pointer-events:none;}
.spark{position:absolute;top:0;border-radius:50%;background:var(--coral);opacity:0;animation:sparkFly .75s ease-out forwards;box-shadow:0 0 8px 1px rgba(232,115,79,.7);}
@keyframes sparkFly{
  0%{opacity:1;transform:translate(0,0) scale(1);}
  100%{opacity:0;transform:var(--spark-end) scale(.3);}
}
.lmn-try{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;position:relative;z-index:1;}
.lmn-chip{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:13px;font-weight:500;
  padding:8px 15px;border-radius:999px;transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.lmn-chip:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);transform:translateY(-1px);}

.trust-row{display:flex;flex-wrap:nowrap;gap:8px;margin-top:24px;}
.trust-pill{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--navy);background:var(--white);border:1px solid var(--line);padding:7px 11px 7px 8px;border-radius:999px;white-space:nowrap;}
.trust-pill svg{width:13px;height:13px;color:var(--teal);flex-shrink:0;}

.hero-visual{position:relative;}
.hero-visual-frame{
  position:relative;margin-right:-64px;border-radius:28px;overflow:hidden;
}
.hero-visual-frame img{width:100%;height:auto;display:block;}

/* hero load-in choreography */
.reveal{opacity:0;transform:translateY(16px);animation:revealUp .7s cubic-bezier(.16,.84,.44,1) forwards;}
@keyframes revealUp{to{opacity:1;transform:translateY(0);}}
.d1{animation-delay:.05s;} .d2{animation-delay:.16s;} .d3{animation-delay:.27s;}
.d4{animation-delay:.38s;} .d5{animation-delay:.49s;} .d6{animation-delay:.6s;}

/* ---------- Section scaffolding ---------- */
.sec{padding:92px 0;}
.sec-alt{background:var(--paper);}
.sec-head{max-width:620px;margin-bottom:54px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-kicker{font-size:13px;font-weight:700;color:var(--coral);letter-spacing:.03em;margin-bottom:12px;}
.sec-head h2{font-size:clamp(28px,3vw,38px);line-height:1.18;font-weight:800;}
.sec-head p{margin-top:14px;font-size:16.5px;color:var(--ink-soft);line-height:1.6;}

/* ---------- How it works ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.step{position:relative;padding-top:8px;}
.step-node{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg, var(--teal), var(--navy-mid));color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);
  font-weight:800;font-size:12.5px;margin-bottom:18px;position:relative;z-index:1;
  box-shadow:0 0 0 5px var(--teal-tint), 0 8px 16px -6px rgba(38,64,75,.45);
}
.step-line{
  position:absolute;top:17px;left:50px;right:-20px;height:2px;border-radius:2px;overflow:visible;
  background:linear-gradient(90deg, var(--teal) 0%, var(--navy-mid) 50%, var(--teal) 100%);
  background-size:200% 100%;animation:chainFlow 3.2s linear infinite;
}
.step-line::after{
  content:"";position:absolute;top:50%;left:0;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;
  background:#fff;box-shadow:0 0 9px 2px rgba(62,102,119,.85);animation:chainDot 3.2s linear infinite;
}
@keyframes chainFlow{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
@keyframes chainDot{0%{left:0%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{left:100%;opacity:0;}}
.step:last-child .step-line{display:none;}
.step h4{font-size:16.5px;margin-bottom:8px;}
.step p{font-size:14.5px;color:var(--ink-soft);line-height:1.55;}

/* ---------- Audience cards ---------- */
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.aud-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;display:flex;flex-direction:column;height:100%;
}
.aud-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:transparent;}
.aud-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.aud-icon svg{width:25px;height:25px;}
.aud-card.customer .aud-icon{background:var(--coral-tint);color:var(--coral);}
.aud-card.provider .aud-icon{background:var(--teal-tint);color:var(--teal);}
.aud-card.partner .aud-icon{background:#EDE6F1;color:#6D4C7D;}
.aud-card h3{font-size:20px;margin-bottom:10px;}
.aud-card>p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:20px;}
.aud-list{margin-bottom:26px;flex-grow:1;}
.aud-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);padding:7px 0;}
.aud-list svg{width:16px;height:16px;color:var(--teal);flex-shrink:0;margin-top:2px;}
.aud-cta{font-size:14.5px;font-weight:700;color:var(--navy);display:inline-flex;align-items:center;gap:6px;}
.aud-cta svg{width:15px;height:15px;transition:transform .2s ease;}
.aud-card:hover .aud-cta svg{transform:translateX(4px);}

/* ---------- Trust pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pillar{padding:4px;}
.pillar-icon{width:46px;height:46px;border-radius:12px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.pillar-icon svg{width:22px;height:22px;color:#fff;}
.pillar h4{font-size:18px;margin-bottom:10px;}
.pillar p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;}
.pillar-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--teal-dark);}
.pillar-link svg{width:14px;height:14px;transition:transform .2s ease;}
.pillar-link:hover svg{transform:translateX(4px);}
.pillar-link:hover{color:var(--coral);}

/* ---------- Learn-more detail sections ---------- */
.learn-section{scroll-margin-top:90px;}
.learn-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px;align-items:start;min-width:0;}
.learn-nav{min-width:0;}
.learn-body{min-width:0;}
.learn-nav{position:sticky;top:110px;}
.learn-nav h2{font-size:clamp(22px,2.4vw,28px);margin:10px 0 24px;line-height:1.25;}
.learn-tabs{display:flex;flex-direction:column;gap:4px;}
.learn-tab{font-size:14px;font-weight:600;color:var(--ink-soft);padding:11px 14px;border-radius:10px;border-left:2.5px solid transparent;transition:background .2s ease, color .2s ease, border-color .2s ease;}
.learn-tab:hover{background:rgba(38,64,75,.06);color:var(--navy);}
.learn-tab.active{color:var(--navy);border-left-color:var(--coral);background:var(--white);font-weight:700;}
.learn-body{position:relative;max-width:680px;}
.learn-card{
  display:none;scroll-margin-top:110px;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:38px 40px;box-shadow:0 1px 3px rgba(24,41,49,.04);
}
.learn-card.active{display:block;}
.learn-card h3{font-size:23px;margin-bottom:14px;}
.learn-card>p{font-size:15.5px;color:var(--ink-soft);line-height:1.65;margin-bottom:20px;}
.learn-list{display:flex;flex-direction:column;gap:12px;}
.learn-list li{position:relative;padding-left:24px;font-size:14.5px;color:var(--ink);line-height:1.55;}
.learn-list li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--teal);}
.lmn-info-card .btn{margin-top:8px;}
.learn-card.pop-in{animation:cardPopIn .42s cubic-bezier(.2,.9,.32,1.18);}
.learn-card.pop-out{animation:cardPopOut .2s ease forwards;}
@keyframes cardPopIn{0%{opacity:0;transform:scale(.93) translateY(10px);}100%{opacity:1;transform:scale(1) translateY(0);}}
@keyframes cardPopOut{0%{opacity:1;transform:scale(1) translateY(0);}100%{opacity:0;transform:scale(.95) translateY(-8px);}}

/* ---------- Categories ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cat-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px 20px;
  display:flex;align-items:center;gap:14px;transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.cat-card:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 14px 28px -16px rgba(62,102,119,.3);}
.cat-card .ico{width:40px;height:40px;flex-shrink:0;color:var(--teal);}
.cat-card .ico svg{width:100%;height:100%;}
.cat-card span{font-size:14.5px;font-weight:600;color:var(--navy);}

/* ---------- Featured providers ---------- */
.prov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.prov-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
.prov-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);}
.prov-media{height:132px;background:linear-gradient(135deg,var(--teal-tint),var(--coral-tint));position:relative;}
.prov-tag{position:absolute;top:14px;left:14px;background:#fff;color:var(--coral-dark);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:6px 11px;border-radius:999px;}
.prov-body{padding:22px 24px 26px;}
.prov-body .cat{font-size:12.5px;font-weight:600;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.03em;}
.prov-body h3{font-size:18.5px;margin:8px 0 6px;}
.prov-meta{font-size:13.5px;color:var(--ink-soft);display:flex;align-items:center;gap:6px;margin-bottom:10px;}
.prov-meta b{color:var(--navy);}
.prov-desc{font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:16px;}
.prov-link{font-size:14px;font-weight:700;color:var(--coral);}

/* ---------- CTA ribbon ---------- */
.ribbon{
  background:linear-gradient(120deg, var(--navy-deep) 0%, var(--navy) 55%, var(--teal-dark) 130%);
  border-radius:32px;padding:64px 56px;position:relative;overflow:hidden;margin:0 32px;
}
.ribbon::before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%22120%22%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2259%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-opacity=%220.045%22 stroke-width=%221%22/%3E%3C/svg%3E');background-size:120px 120px;}
.ribbon-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.ribbon-text{max-width:520px;}
.ribbon h2{color:#fff;font-size:clamp(24px,3vw,32px);margin-bottom:12px;}
.ribbon p{color:rgba(255,255,255,.76);font-size:15.5px;line-height:1.6;}
.ribbon-actions{display:flex;gap:14px;flex-wrap:wrap;}
.ribbon-logo{position:absolute;right:-40px;bottom:-50px;width:260px;height:260px;opacity:.07;}

/* ---------- Footer ---------- */
footer{background:var(--navy-deep);color:rgba(255,255,255,.65);padding:72px 0 0;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:700;font-size:20px;color:#fff;margin-bottom:16px;}
.foot-brand img{width:34px;height:34px;border-radius:9px;}
.foot-about p{font-size:14px;line-height:1.65;max-width:280px;color:rgba(255,255,255,.55);}
.foot-social{display:flex;gap:10px;margin-top:22px;}
.foot-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .2s ease;}
.foot-social a:hover{background:var(--coral);}
.foot-social svg{width:16px;height:16px;color:#fff;}
.foot-col h5{color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px;}
.foot-col ul li{margin-bottom:12px;}
.foot-col a{font-size:14.5px;color:rgba(255,255,255,.62);transition:color .2s ease;}
.foot-col a:hover{color:#fff;}
.foot-news p{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:16px;line-height:1.5;}
.news-field{display:flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:5px 5px 5px 16px;}
.news-field input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:14px;min-width:0;}
.news-field input::placeholder{color:rgba(255,255,255,.4);}
.news-field button{background:var(--coral);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-weight:600;font-size:13px;}
.foot-app{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-app-text h5{color:#fff;font-size:15.5px;margin-bottom:6px;}
.foot-app-text p{font-size:13.5px;color:rgba(255,255,255,.55);}
.store-badges{display:flex;gap:12px;flex-wrap:wrap;}
.store-badge{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:9px 16px;opacity:.72;cursor:not-allowed;transition:opacity .2s ease,border-color .2s ease;position:relative;}
.store-badge:hover{opacity:.9;border-color:rgba(255,255,255,.3);}
.store-badge svg{width:22px;height:22px;color:#fff;flex-shrink:0;}
.store-text{display:flex;flex-direction:column;line-height:1.25;}
.store-text em{font-style:normal;font-size:10px;color:rgba(255,255,255,.5);}
.store-text b{font-size:14px;color:#fff;font-family:var(--font-display);font-weight:700;}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;padding:26px 0;flex-wrap:wrap;gap:14px;}
.foot-bottom span{font-size:13px;color:rgba(255,255,255,.45);}
.foot-badges{display:flex;gap:18px;}
.foot-badges span{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.4);}

/* ---------- Responsive ---------- */
@media (max-width:1099px){
  .wrap{padding:0 26px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .hero-grid{grid-template-columns:1fr;gap:54px;}
  .hero-copy{max-width:640px;}
  .hero-visual{order:-1;}
  .hero-visual-frame{margin-right:0;max-width:460px;margin-left:auto;margin-right:auto;border-radius:24px;}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:36px;}
  .step-line{display:none;}
  .audience-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;}
  .pillars{grid-template-columns:1fr;max-width:520px;margin:0 auto;gap:34px;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .prov-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
  .ribbon{margin:0 26px;padding:48px 36px;}
  .ribbon-inner{justify-content:center;text-align:center;}
  .ribbon-actions{justify-content:center;}
  .foot-top{grid-template-columns:1fr 1fr;row-gap:40px;}
  .learn-grid{grid-template-columns:minmax(0,1fr);gap:0;}
  .learn-nav{position:sticky;top:69px;background:var(--paper);padding:14px 0;z-index:5;}
  .learn-tabs{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .learn-tabs::-webkit-scrollbar{display:none;}
  .learn-tab{border-left:none;border-bottom:2.5px solid transparent;white-space:nowrap;flex-shrink:0;}
  .learn-tab.active{border-left-color:transparent;border-bottom-color:var(--coral);}
  .learn-body{margin-top:24px;}
  .learn-card{padding:30px 26px;}
}
@media (max-width:699px){
  .wrap{padding:0 20px;}
  .topbar-inner{height:68px;}
  .brand{font-size:18px;}
  .brand img{width:32px;height:32px;}
  .nav-cta .nav-signin{display:none;}
  .hero{padding:40px 0 60px;}
  .hero h1{font-size:26px;}
  .hero-sub{font-size:16px;}
  .lmn-card{padding:22px;margin-top:28px;}
  .lmn-search{flex-wrap:wrap;border-radius:16px;padding:14px;}
  .lmn-search input{width:100%;order:1;padding:6px 0;}
  .lmn-mic{order:2;}
  .lmn-search .btn{order:3;flex:1;}
  .trust-row{gap:8px;flex-wrap:wrap;}
  .trust-pill{font-size:11.5px;padding:7px 11px 7px 8px;}
  .sec{padding:64px 0;}
  .sec-head{margin-bottom:38px;}
  .steps{grid-template-columns:1fr;gap:28px;}
  .cat-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .cat-card{padding:16px;flex-direction:column;text-align:center;gap:10px;}
  .ribbon{border-radius:24px;padding:40px 24px;margin:0 20px;}
  .foot-top{grid-template-columns:1fr;gap:36px;padding-bottom:40px;}
  .foot-app{flex-direction:column;align-items:flex-start;}
  .store-badges{width:100%;}
  .store-badge{flex:1;justify-content:center;}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
  .aud-card{padding:28px 24px;}
}

::selection{background:var(--coral);color:#fff;}

/* =========================================================================
   Extensions: approved landing prototype + public website pages
   ========================================================================= */

/* ---------- Accessibility helpers ---------- */
.skip-link{position:absolute;left:12px;top:-60px;z-index:300;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;transition:top .2s ease;}
.skip-link:focus{top:12px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
main{display:block;}

/* ---------- Header: active link, Sign In pill, language switcher ---------- */
.nav-links a[aria-current="page"]{color:var(--coral);}
.nav-links a[aria-current="page"]::after{content:"";display:block;height:2px;border-radius:2px;background:var(--coral);margin-top:3px;}
.nav-signin{border:1.5px solid rgba(38,64,75,.18);border-radius:999px;padding:9px 16px;}
.nav-signin:hover{border-color:var(--coral);}
.lang{position:relative;}
.lang-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--navy);font-weight:700;font-size:13.5px;padding:8px 6px;border-radius:8px;}
.lang-btn svg{width:14px;height:14px;transition:transform .2s ease;}
.lang-btn[aria-expanded="true"] svg{transform:rotate(180deg);}
.lang-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);padding:6px;z-index:150;display:none;}
.lang-menu.open{display:block;}
.lang-menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;background:none;border:none;text-align:left;padding:10px 12px;border-radius:10px;font-size:14px;color:var(--ink);}
.lang-menu button:hover,.lang-menu button:focus-visible{background:var(--paper);}
.lang-menu button[aria-checked="true"]{font-weight:700;color:var(--navy);}
.lang-menu .soon{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--coral-dark);background:var(--coral-tint);padding:3px 8px;border-radius:999px;}
.lang-notice{background:var(--teal-tint);color:var(--navy);font-size:13.5px;line-height:1.5;padding:10px 0;display:none;}
.lang-notice.show{display:block;}
.lang-notice .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.lang-notice button{background:none;border:none;color:var(--navy);font-weight:700;font-size:13px;text-decoration:underline;}
.mobile-panel .m-lang{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);}
.mobile-panel .m-lang .lang-btn{padding-left:0;}
.mobile-panel .m-lang .lang-menu{position:static;box-shadow:none;margin-top:6px;}
.mobile-panel a.m-link[aria-current="page"]{color:var(--coral);}

/* ---------- Status tags (truthful product state) ---------- */
.tag-soon{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-dark);background:var(--coral-tint);padding:4px 10px;border-radius:999px;white-space:nowrap;vertical-align:middle;}
.tag-live{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1E6B4F;background:#DDF1E7;padding:4px 10px;border-radius:999px;white-space:nowrap;vertical-align:middle;}
.tag-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#2E9B6E;}

/* ---------- Hero (approved prototype: tilted navy frame + dot grid) ---------- */
.hero{background:radial-gradient(1200px 520px at 100% 100%, rgba(232,115,79,.07), transparent 60%);}
.hero h1{font-size:clamp(30px,3.6vw,46px);line-height:1.12;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.btn-outline-coral{background:transparent;color:var(--coral-dark);border-color:var(--coral);}
.btn-outline-coral:hover{background:var(--coral-tint);transform:translateY(-2px);}
.hero-visual-frame{transform-origin:center;}
.hero-visual::after{
  content:"";position:absolute;right:-56px;top:-22px;width:92px;height:92px;
  background-image:radial-gradient(var(--navy) 1.6px, transparent 1.7px);background-size:14px 14px;opacity:.55;
}
.hero-visual{isolation:isolate;}

/* ---------- Link My Need: prototype ripple sweep + glint (P05.6) ---------- */
.lmn-search{overflow:hidden;}
.lmn-search .ripple-wave{position:absolute;top:0;bottom:0;left:-30%;width:30%;opacity:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(232,115,79,.28),rgba(255,255,255,.65),transparent);}
.lmn-search.rippling .ripple-wave{animation:rippleSweep .68s cubic-bezier(.3,.7,.3,1) forwards;}
@keyframes rippleSweep{0%{opacity:0;left:-30%;}12%{opacity:1;}85%{opacity:.9;}100%{opacity:0;left:100%;}}
.lmn-glint{position:absolute;right:16px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--coral);opacity:0;pointer-events:none;}
.lmn-search.rippling .lmn-glint{animation:glintPop .5s ease .5s forwards;}
@keyframes glintPop{0%{opacity:0;transform:scale(.4);box-shadow:0 0 0 0 rgba(232,115,79,.5);}40%{opacity:1;transform:scale(1.3);box-shadow:0 0 0 8px rgba(232,115,79,0);}100%{opacity:0;transform:scale(1);}}
.lmn-mic{border:none;}
.lmn-mic[aria-disabled="true"]{cursor:not-allowed;opacity:.85;}
.lmn-mic .mic-soon{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9.5px;color:rgba(255,255,255,.7);display:none;}
.lmn-error{color:#FFD5C7;font-size:13px;margin-top:10px;min-height:0;}
.lmn-next{display:none;margin-top:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:18px;position:relative;z-index:1;}
.lmn-next.show{display:block;animation:cardPopIn .42s cubic-bezier(.2,.9,.32,1.18);}
.lmn-next h3{color:#fff;font-size:16px;margin-bottom:6px;}
.lmn-next p{color:rgba(255,255,255,.78);font-size:13.5px;margin-bottom:14px;}
.lmn-next q{color:#fff;font-weight:600;}
.lmn-next .lmn-next-actions{display:flex;flex-wrap:wrap;gap:10px;}

/* Quick links (approved prototype section 2) */
.quick-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:22px 0 10px;position:relative;z-index:1;}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative;z-index:1;}
.quick-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:14px;padding:12px;text-align:left;transition:background .2s ease,transform .2s ease,border-color .2s ease;}
.quick-tile:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);transform:translateY(-2px);}
.quick-tile svg{width:22px;height:22px;color:#FFD9CB;}
.quick-tile b{font-size:13px;font-weight:700;font-family:var(--font-display);}
.quick-tile span{font-size:11.5px;color:rgba(255,255,255,.66);line-height:1.35;}

/* ---------- The 1-5 connector (journey) ----------
   The original landing's flowing chain (chainFlow + travelling chainDot),
   now on every breakpoint: horizontal from 700px, vertical below. Nodes
   light up in sequence (1 -> 5) while the section is visible. */
.journey{--node:64px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative;margin:0;padding:0;list-style:none;counter-reset:none;}
.journey-step{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;}
.journey-num{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--navy);margin-bottom:10px;transition:color .3s ease;}
.journey-node{width:var(--node);height:var(--node);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
  background:var(--navy);color:#fff;box-shadow:0 0 0 6px var(--teal-tint),0 12px 24px -10px rgba(38,64,75,.5);transition:background .35s ease,box-shadow .35s ease,transform .35s ease;}
.journey-node svg{width:28px;height:28px;}
.journey-step:first-child .journey-node,.journey-step.is-lit .journey-node{background:var(--coral);box-shadow:0 0 0 6px var(--coral-tint),0 14px 28px -10px rgba(232,115,79,.6);}
.journey-step.is-lit .journey-node{transform:scale(1.06);}
.journey-step:first-child .journey-num,.journey-step.is-lit .journey-num{color:var(--coral);}
.journey-line{position:absolute;top:calc(var(--node) / 2 + 25px - 1px);left:calc(50% + var(--node) / 2 + 6px);width:calc(100% - var(--node) - 12px + 18px);height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--teal) 0%,var(--navy-mid) 50%,var(--teal) 100%);background-size:200% 100%;animation:chainFlow 3.2s linear infinite;}
.journey-line::after{content:"";position:absolute;top:50%;left:0;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#fff;box-shadow:0 0 10px 3px rgba(232,115,79,.75);animation:chainDot 3.2s linear infinite;}
.journey-step:last-child .journey-line{display:none;}
.journey-step h3,.journey-step h4{font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;margin:18px 0 8px;color:var(--navy);}
.journey-step p{font-size:14px;color:var(--ink-soft);line-height:1.55;max-width:200px;}
.journey-step .tag-soon{margin-top:10px;}
.journey.is-paused .journey-line,.journey.is-paused .journey-line::after{animation-play-state:paused;}
@media (max-width:899px){ .journey{--node:54px;} .journey-node svg{width:24px;height:24px;} }
@media (max-width:699px){
  .journey{grid-template-columns:1fr;gap:0;}
  .journey-step{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:16px;text-align:left;align-items:start;padding-bottom:28px;}
  .journey-step:last-child{padding-bottom:0;}
  .journey-num{grid-column:2;grid-row:1;margin:4px 0 0;font-size:13px;}
  .journey-node{grid-column:1;grid-row:1 / span 3;}
  .journey-step h3,.journey-step h4{grid-column:2;margin:2px 0 4px;}
  .journey-step p{grid-column:2;max-width:none;}
  .journey-step .tag-soon{grid-column:2;justify-self:start;}
  .journey-line{top:calc(var(--node) + 6px);left:calc(var(--node) / 2 - 1px);width:2px;height:calc(100% - var(--node) - 12px);
    background:linear-gradient(180deg,var(--teal) 0%,var(--navy-mid) 50%,var(--teal) 100%);background-size:100% 200%;animation:chainFlowV 3.2s linear infinite;}
  .journey-line::after{left:50%;top:0;margin:0 0 0 -4px;animation:chainDotV 3.2s linear infinite;}
}
@keyframes chainFlowV{0%{background-position:0 200%;}100%{background-position:0 -200%;}}
@keyframes chainDotV{0%{top:0%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:100%;opacity:0;}}
@media (prefers-reduced-motion: reduce){ .journey-line,.journey-line::after{animation:none !important;} .journey-line::after{display:none;} }

/* Link My Need methodology variant (teal nodes, numbers inside) */
.journey.lmn-levels .journey-node{background:linear-gradient(135deg,var(--teal),var(--navy-mid));font-family:var(--font-display);font-weight:800;font-size:17px;}
.journey.lmn-levels .journey-step:first-child .journey-node,.journey.lmn-levels .journey-step.is-lit .journey-node{background:var(--coral);}
.journey.lmn-levels .journey-step h3{text-transform:none;letter-spacing:-.01em;font-size:17px;}
.lmn-example{margin-top:10px;font-size:12.5px;color:var(--teal-dark);background:var(--teal-tint);border-radius:10px;padding:6px 10px;display:inline-block;}
@media (max-width:699px){ .lmn-example{grid-column:2;justify-self:start;} }

/* ---------- Featured providers: truthful "coming soon" state ---------- */
.prov-card.is-placeholder .prov-media{background:repeating-linear-gradient(135deg,var(--paper) 0 12px,#ECE6D9 12px 24px);}
.prov-card.is-placeholder .ph-line{height:12px;border-radius:6px;background:var(--paper);margin:8px 0;}
.prov-card.is-placeholder .ph-line.w60{width:60%;} .prov-card.is-placeholder .ph-line.w40{width:40%;} .prov-card.is-placeholder .ph-line.w80{width:80%;}
.prov-card.is-placeholder:hover{transform:none;box-shadow:none;}
.prov-soon-note{margin-top:26px;font-size:14px;color:var(--ink-soft);text-align:center;}

/* ---------- "Want to be featured?" banner (approved prototype) ---------- */
.feature-banner{display:flex;align-items:center;gap:28px;background:linear-gradient(120deg,var(--navy-deep),var(--navy) 60%,var(--teal-dark));color:#fff;border-radius:26px;padding:34px 40px;position:relative;overflow:hidden;margin-top:44px;}
.feature-banner::after{content:"";position:absolute;right:18px;top:16px;width:120px;height:80px;background-image:radial-gradient(rgba(255,255,255,.22) 1.4px,transparent 1.5px);background-size:12px 12px;}
.feature-medal{width:88px;height:88px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 6px rgba(255,255,255,.12);}
.feature-medal svg{width:44px;height:44px;color:var(--coral);}
.feature-text{flex:1;min-width:0;position:relative;z-index:1;}
.feature-text h2,.feature-text h3{color:#fff;font-size:clamp(20px,2.2vw,26px);margin-bottom:8px;}
.feature-text p{color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.55;}
.feature-banner .btn{position:relative;z-index:1;}
@media (max-width:699px){ .feature-banner{flex-direction:column;text-align:center;padding:30px 22px;gap:18px;} }

/* ---------- Why Linknector cards (approved prototype section 4) ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.why-card{background:var(--paper);border-radius:26px;padding:36px 28px;text-align:center;border:1px solid transparent;transition:border-color .25s ease, transform .25s ease;}
.why-card:hover{border-color:var(--line);transform:translateY(-3px);}
.why-icon{width:68px;height:68px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.why-icon svg{width:32px;height:32px;}
.why-icon.coral{background:var(--coral-tint);color:var(--coral);} .why-icon.navy{background:#E3E7EA;color:var(--navy);} .why-icon.teal{background:var(--teal-tint);color:var(--teal);}
.why-card h3{font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}
.why-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;}
.why-card .pillar-link{margin-top:14px;}
.title-rule{display:block;width:44px;height:3px;border-radius:2px;background:var(--coral);margin:16px auto 0;}
.sec-head.center .sec-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:12px;}

/* ---------- Inner page header ---------- */
.page-hero{padding:72px 0 56px;background:radial-gradient(900px 380px at 90% 0%, rgba(62,102,119,.10), transparent 60%),radial-gradient(700px 320px at 0% 100%, rgba(232,115,79,.08), transparent 60%);}
.page-hero .sec-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:12px;}
.page-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.1;font-weight:800;color:var(--ink);max-width:820px;}
.page-hero p.lead{margin-top:18px;font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:680px;}
.crumbs{font-size:13px;color:var(--ink-soft);margin-bottom:18px;}
.crumbs a{color:var(--teal-dark);font-weight:600;}
.crumbs a:hover{color:var(--coral);}
.prose{max-width:760px;}
.prose h2{font-size:clamp(22px,2.4vw,28px);margin:44px 0 14px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:18px;margin:26px 0 10px;}
.prose p,.prose li{font-size:16px;line-height:1.7;color:var(--ink-soft);}
.prose p+p{margin-top:14px;}
.prose ul{margin:12px 0;}
.prose ul li{position:relative;padding-left:22px;margin:8px 0;}
.prose ul li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--teal);}
.prose a{color:var(--teal-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:start;}
.side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;box-shadow:0 1px 3px rgba(24,41,49,.04);}
.side-card h3{font-size:19px;margin-bottom:10px;}
.side-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;}
.side-card .btn{margin-top:18px;}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;}
.value{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;}
.value h3{font-size:16.5px;margin:14px 0 8px;}
.value p{font-size:14.5px;line-height:1.6;color:var(--ink-soft);}
.value .aud-icon{margin-bottom:0;width:44px;height:44px;border-radius:12px;}

/* ---------- Services catalogue ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.svc-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;gap:12px;transition:border-color .25s ease, box-shadow .25s ease;}
.svc-card:hover{border-color:var(--teal);box-shadow:0 14px 28px -18px rgba(62,102,119,.35);}
.svc-head{display:flex;align-items:center;gap:14px;}
.svc-head .ico{width:46px;height:46px;border-radius:13px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.svc-head .ico svg{width:24px;height:24px;}
.svc-card h3{font-size:17.5px;line-height:1.3;}
.svc-subs{display:flex;flex-wrap:wrap;gap:8px;}
.svc-subs li{font-size:12.5px;font-weight:600;color:var(--navy);background:var(--paper);border-radius:999px;padding:6px 11px;}
.svc-card .svc-ask{margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:700;color:var(--coral-dark);display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding-left:0;text-align:left;}
.svc-card .svc-ask svg{width:14px;height:14px;}
.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px 20px;}
.status-row h3{font-size:15.5px;margin-bottom:4px;}
.status-row p{font-size:13.5px;color:var(--ink-soft);line-height:1.5;}

/* ---------- FAQ (accessible <details>) ---------- */
.faq-group{margin-bottom:40px;}
.faq-group h2{font-size:clamp(20px,2.2vw,24px);margin-bottom:16px;}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:10px;overflow:hidden;transition:border-color .2s ease, box-shadow .2s ease;}
.faq-item[open]{border-color:rgba(62,102,119,.35);box-shadow:0 10px 24px -18px rgba(38,64,75,.35);}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--navy);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .chev{width:28px;height:28px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s ease, background .25s ease;}
.faq-item summary .chev svg{width:15px;height:15px;color:var(--navy);}
.faq-item[open] summary .chev{transform:rotate(180deg);background:var(--coral-tint);}
.faq-item .faq-a{padding:0 22px 20px;font-size:15px;line-height:1.7;color:var(--ink-soft);}
.faq-item .faq-a p+p{margin-top:10px;}
.faq-item .faq-a a{color:var(--teal-dark);font-weight:600;text-decoration:underline;}
.faq-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px;}
.faq-search{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:12px 16px;}
.faq-search svg{width:18px;height:18px;color:var(--ink-soft);flex-shrink:0;}
.faq-search input{border:none;outline:none;flex:1;font-size:15px;font-family:var(--font-body);background:transparent;min-width:0;color:var(--ink);}
.faq-empty{display:none;color:var(--ink-soft);font-size:15px;}

/* ---------- Legal pages ---------- */
.legal-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start;}
.legal-toc{position:sticky;top:100px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;}
.legal-toc h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.legal-toc a{display:block;font-size:13.5px;color:var(--navy);padding:6px 8px;border-radius:8px;}
.legal-toc a:hover{background:var(--paper);}
.draft-banner{display:flex;gap:14px;align-items:flex-start;background:#FFF6E5;border:1px solid #F2D9A6;color:#6B4B12;border-radius:var(--radius-md);padding:16px 18px;margin-bottom:30px;font-size:14.5px;line-height:1.6;}
.draft-banner svg{width:20px;height:20px;flex-shrink:0;margin-top:2px;}
.legal-meta{font-size:13.5px;color:var(--ink-soft);margin-bottom:26px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;}
.form-row{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.form-row label{font-size:13.5px;font-weight:700;color:var(--navy);}
.form-row input,.form-row select,.form-row textarea{font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s ease, background .2s ease;width:100%;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--teal);background:#fff;}
.form-row textarea{min-height:140px;resize:vertical;}
.form-row .err{font-size:12.5px;color:#B3412A;display:none;}
.form-row.invalid .err{display:block;}
.form-row.invalid input,.form-row.invalid textarea,.form-row.invalid select{border-color:#D9694C;}
.form-note{font-size:13px;color:var(--ink-soft);line-height:1.55;margin-top:12px;}
.form-status{margin-top:14px;font-size:14px;color:var(--teal-dark);font-weight:600;}
.contact-method{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;margin-bottom:14px;}
.contact-method .aud-icon{width:46px;height:46px;border-radius:13px;margin:0;flex-shrink:0;background:var(--coral-tint);color:var(--coral);}
.contact-method h3{font-size:16px;margin-bottom:4px;}
.contact-method p,.contact-method a{font-size:14.5px;color:var(--ink-soft);line-height:1.55;}
.contact-method a.mail{color:var(--teal-dark);font-weight:700;}

/* ---------- Footer additions (approved prototype) ---------- */
.foot-news .news-field input:disabled{cursor:not-allowed;}
.foot-news .news-field button:disabled{opacity:.6;cursor:not-allowed;}
.foot-news .tag-soon{margin-left:8px;}
.foot-col a[aria-current="page"]{color:#fff;}

/* ---------- 404 ---------- */
.nf{min-height:56vh;display:flex;align-items:center;}

/* ---------- Responsive for the extensions ---------- */
@media (max-width:1099px){
  .why-grid,.value-grid,.svc-grid{grid-template-columns:repeat(2,1fr);}
  .two-col,.contact-grid{grid-template-columns:1fr;}
  .legal-grid{grid-template-columns:1fr;}
  .legal-toc{position:static;}
  .hero-visual::after{right:-10px;}
  .lang-btn{padding:8px 4px;}
}
@media (max-width:699px){
  .why-grid,.value-grid,.svc-grid,.status-grid{grid-template-columns:1fr;}
  .quick-grid{grid-template-columns:repeat(2,1fr);}
  .page-hero{padding:48px 0 38px;}
  .page-hero p.lead{font-size:16px;}
  .form-card{padding:24px 20px;}
  .hero-actions .btn{flex:1;}
  .nav-cta{gap:8px;}
  }
@media (max-width:359px){
  .wrap{padding:0 16px;}
  .brand{font-size:17px;gap:8px;}
  .nav-cta .btn-sm{padding:9px 12px;font-size:12.5px;}
  .quick-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .quick-tile{padding:10px;}
  .lmn-card{padding:18px;}
}
.lmn-card h2{color:#fff;font-size:21px;margin:10px 0 6px;line-height:1.3;}
/* Approved prototype: on phones the header shows EN + Sign In + menu. */
@media (max-width:699px){
  .nav-cta .nav-signin{display:inline-flex;padding:7px 12px;font-size:13px;}
  .nav-cta .nav-start{display:none;}
}
@media (max-width:359px){ .nav-cta .nav-signin{display:none;} }
/* The closed panel sits off-screen: hide it fully so its shadow never shows
   at the right edge, and keep the slide-in transition when opening. */
.mobile-panel{visibility:hidden;box-shadow:none;transition:transform .35s cubic-bezier(.4,0,.2,1), visibility 0s linear .35s, box-shadow .35s ease;}
.mobile-panel.open{visibility:visible;box-shadow:-20px 0 50px -20px rgba(24,41,49,.4);transition:transform .35s cubic-bezier(.4,0,.2,1), visibility 0s, box-shadow .35s ease;}

/* Long status tags wrap instead of widening the journey on narrow phones. */
.journey-step .tag-soon{white-space:normal;text-align:left;line-height:1.35;}
.value-grid.two{grid-template-columns:repeat(2,1fr);}
@media (max-width:699px){ .value-grid.two{grid-template-columns:1fr;} }
/* Approved mobile/tablet hero: headline and actions first, visual after. */
@media (max-width:1099px){ .hero-visual{order:0;} }
@media (max-width:699px){ .hero-visual-frame{max-width:340px;} .hero-grid{gap:44px;} }
/* Phones: the request gets the full first row (flex-basis, not width, so it
   actually wraps); mic + Link My Need share the row below. */
@media (max-width:699px){
  .lmn-search input{flex:1 1 100%;width:auto;}
  .lmn-search .btn{flex:1 1 auto;}
}
.lmn-next{margin-top:14px;}
.lmn-next q{display:block;margin-bottom:6px;font-style:italic;}

/* ---------- Contrast (WCAG AA for small text) ----------
   Coral used as small TEXT gets a deeper "coral ink" (4.5:1 on cream, white
   and coral-tint). The brand coral itself is unchanged for fills and large
   type. Muted white text in the Link My Need card is raised to stay
   readable on the light end of its gradient. */
:root{--coral-ink:#BD3F19;}
.sec-kicker,.tag-soon,.lang-menu .soon,.btn-outline-coral,.svc-card .svc-ask,.prov-tag,.nav-links a[aria-current="page"],.mobile-panel a.m-link[aria-current="page"],.nav-signin:hover,.pillar-link:hover{color:var(--coral-ink);}
.journey-step:first-child .journey-num,.journey-step.is-lit .journey-num{color:var(--coral-ink);}
.lmn-card p{color:rgba(255,255,255,.9);}
.lmn-label,.quick-label{color:rgba(255,255,255,.85);}
.quick-tile span{color:rgba(255,255,255,.94);}
.lmn-mic .mic-soon{color:#fff;}
.lmn-card,.lmn-card::before{background-image:linear-gradient(135deg, var(--navy) 0%, var(--teal) 100%);}

/* =========================================================================
   Final polish pass
   ========================================================================= */

/* ---------- Hero image: no container, edges fade into the page ----------
   The image keeps its content and composition; a soft mask fades every edge
   to transparent so it blends into the cream background (no rounded frame,
   no coloured backing). */
.hero-visual-frame{border-radius:0;overflow:visible;margin-right:-40px;
  -webkit-mask-image:radial-gradient(ellipse 72% 70% at 52% 50%, #000 52%, rgba(0,0,0,.55) 74%, transparent 100%);
          mask-image:radial-gradient(ellipse 72% 70% at 52% 50%, #000 52%, rgba(0,0,0,.55) 74%, transparent 100%);}
.hero-visual::after{display:none;}
@media (max-width:1099px){ .hero-visual-frame{margin-right:auto;border-radius:0;} }

/* ---------- Shared premium card (approved Featured Provider card) ---------- */
.lk-grid{display:grid;gap:22px;}
.lk-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.lk-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.lk-card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px 22px 0;box-shadow:0 1px 2px rgba(24,41,49,.04),0 14px 30px -24px rgba(38,64,75,.35);transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;min-width:0;}
.lk-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:transparent;}
.lk-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px;}
.lk-logo{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;
  font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:.02em;
  background:linear-gradient(140deg,var(--coral) 0%,var(--coral-dark) 55%,#8E3A23 100%);box-shadow:0 10px 18px -10px rgba(210,94,59,.7);}
.lk-logo svg{width:26px;height:26px;}
.cat-tile .lk-logo{background:linear-gradient(140deg,var(--teal) 0%,var(--navy) 100%);box-shadow:0 10px 18px -10px rgba(38,64,75,.7);}
.lk-art-2{background:linear-gradient(140deg,var(--navy) 0%,var(--navy-deep) 100%);box-shadow:0 10px 18px -10px rgba(24,41,49,.7);}
.lk-art-3{background:linear-gradient(140deg,#4C5BA8 0%,#2E3A7A 100%);box-shadow:0 10px 18px -10px rgba(46,58,122,.7);}
.lk-pill{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-dark);background:var(--teal-tint);padding:5px 10px;border-radius:999px;white-space:nowrap;}
.lk-pill-green{color:#1E6B4F;background:#DDF1E7;}
.lk-card h3{font-size:18px;line-height:1.3;margin-bottom:6px;}
.lk-sub{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px;}
.lk-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ink-soft);margin-bottom:12px;}
.lk-meta span{display:inline-flex;align-items:center;gap:5px;}
.lk-meta svg{width:14px;height:14px;color:var(--coral-ink);flex-shrink:0;}
.lk-desc{font-size:14px;line-height:1.6;color:var(--ink-soft);margin-bottom:18px;flex-grow:1;}
.cat-tile .lk-desc{font-size:13.5px;}
.lk-action{display:flex;align-items:center;justify-content:space-between;margin:0 -22px;padding:15px 22px;border-top:1px solid var(--line);
  font-size:14px;font-weight:700;color:var(--navy);border-radius:0 0 var(--radius-lg) var(--radius-lg);transition:background .2s ease,color .2s ease;}
.lk-action svg{width:16px;height:16px;transition:transform .2s ease;}
.lk-action::after{content:"";position:absolute;inset:0;border-radius:inherit;}   /* whole card is the link */
.lk-card:hover .lk-action{color:var(--coral-ink);}
.lk-card:hover .lk-action svg{transform:translateX(3px);}
.lk-action:focus-visible{outline:none;}
.lk-card:has(.lk-action:focus-visible){outline:2.5px solid var(--teal);outline-offset:3px;}
@media (max-width:1099px){ .lk-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));} .lk-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:699px){ .lk-grid-4,.lk-grid-3{grid-template-columns:1fr;} }

/* ---------- Audience cards: complete, whole card clickable ---------- */
.aud-card{position:relative;}
.aud-cta::after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);}
.aud-cta:focus-visible{outline:none;}
.aud-card:has(.aud-cta:focus-visible){outline:2.5px solid var(--teal);outline-offset:3px;}

/* ---------- Layout utilities (replace inline styles; strict CSP) ---------- */
.sec-cta{text-align:center;margin-top:40px;}
.sec-more{margin-top:28px;}
.sec-more .pillar-link{font-size:15px;}
.sec-flush-top{padding-top:0;}
.sec-tight-top{padding-top:24px;}
.mt-10{margin-top:10px;} .mt-14{margin-top:14px;} .mt-20{margin-top:20px;}
.center{text-align:center;}
.note-sm{font-size:13.5px;color:var(--ink-soft);}
.icon-teal{background:var(--teal-tint);color:var(--teal);} .icon-coral{background:var(--coral-tint);color:var(--coral);} .icon-plum{background:#EDE6F1;color:#6D4C7D;}
.wrap-narrow{max-width:880px;}
.form-title{font-size:22px;margin-bottom:6px;}
.form-lead{margin:0 0 20px;}
.nf-title{font-size:clamp(30px,4vw,44px);margin-bottom:14px;}
.nf-text{color:var(--ink-soft);font-size:17px;max-width:520px;margin:0 auto 28px;}
.hero-actions.centered{justify-content:center;}

/* ---------- Newsletter: bright, visible Join Now (approved prototype) ---------- */
.news-form{margin:0;}
.news-field{background:#fff;border:1.5px solid rgba(255,255,255,.9);padding:5px 5px 5px 14px;}
.news-field input{color:var(--ink);}
.news-field input::placeholder{color:#7E8C91;}
.news-join{background:var(--coral);color:#fff;border:none;border-radius:9px;padding:10px 18px;font-weight:700;font-size:13.5px;box-shadow:0 8px 18px -8px rgba(232,115,79,.8);transition:background .2s ease, transform .2s ease;white-space:nowrap;}
.news-join:hover{background:var(--coral-dark);transform:translateY(-1px);}
.news-join:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.news-field:focus-within{box-shadow:0 0 0 3px rgba(232,115,79,.45);}
.news-msg{font-size:12.5px;color:#FFD5C7;margin-top:8px;min-height:1em;}
.news-field input[aria-invalid="true"]{color:#B3412A;}

/* ---------- Social links ---------- */
.foot-social{display:flex;gap:10px;margin-top:22px;}
.foot-social a{width:38px;height:38px;}
.foot-social a:focus-visible{outline:2.5px solid #fff;outline-offset:2px;}
.store-badge{cursor:pointer;opacity:.85;}
a.store-badge:focus-visible{outline:2.5px solid #fff;outline-offset:2px;}
a.lmn-mic{color:var(--ink-soft);}
a.lmn-mic:hover{background:#E8E2D6;}

/* ---------- Coming Soon (one reusable page) ---------- */
.cs-hero{position:relative;overflow:hidden;padding:84px 0 96px;background:
  radial-gradient(700px 360px at 85% 10%, rgba(62,102,119,.14), transparent 60%),
  radial-gradient(640px 340px at 10% 90%, rgba(232,115,79,.12), transparent 60%);}
.cs-card{position:relative;max-width:760px;margin:0 auto;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:32px;padding:56px 44px;box-shadow:var(--shadow-soft);}
.cs-logo{width:76px;height:76px;border-radius:20px;margin:0 auto 22px;box-shadow:0 14px 28px -14px rgba(232,115,79,.7);}
.cs-card .eyebrow{margin-bottom:16px;}
.cs-card h1{font-size:clamp(28px,3.6vw,42px);line-height:1.15;color:var(--ink);margin-bottom:12px;}
.cs-feature{font-family:var(--font-display);font-weight:700;color:var(--teal-dark);font-size:17px;margin-bottom:10px;}
.cs-card p.lead{font-size:16.5px;line-height:1.65;color:var(--ink-soft);max-width:540px;margin:0 auto;}
.cs-steps{display:flex;justify-content:center;gap:10px;margin:30px 0 32px;flex-wrap:wrap;}
.cs-steps span{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--navy);background:var(--paper);padding:8px 14px;border-radius:999px;}
.cs-steps span i{width:8px;height:8px;border-radius:50%;background:var(--coral);font-style:normal;}
.cs-steps span.done i{background:#2E9B6E;}
.cs-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.cs-orbit{position:absolute;width:420px;height:420px;border-radius:50%;border:1px dashed rgba(62,102,119,.22);right:-160px;top:-160px;}
.cs-orbit.two{width:300px;height:300px;left:-140px;bottom:-140px;right:auto;top:auto;border-color:rgba(232,115,79,.25);}
@media (max-width:699px){ .cs-card{padding:40px 22px;border-radius:24px;} .cs-hero{padding:48px 0 64px;} }

/* ---------- About: branded article ---------- */
.about-hero{position:relative;overflow:hidden;padding:88px 0 72px;color:#fff;
  background:radial-gradient(800px 420px at 90% 0%, rgba(232,115,79,.28), transparent 60%),linear-gradient(130deg,var(--navy-deep) 0%,var(--navy) 55%,var(--teal) 110%);}
.about-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1.2px, transparent 1.3px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);}
.about-hero .wrap{position:relative;z-index:1;}
.about-hero .crumbs,.about-hero .crumbs a{color:rgba(255,255,255,.85);}
.about-hero .sec-kicker{color:#FFC9B6;letter-spacing:.14em;text-transform:uppercase;font-size:12px;}
.about-hero h1{color:#fff;font-size:clamp(32px,4.4vw,54px);line-height:1.08;font-weight:800;max-width:820px;}
.about-hero .lead{color:rgba(255,255,255,.88);font-size:19px;line-height:1.6;max-width:660px;margin-top:20px;}
.about-mark{position:absolute;right:6%;bottom:-40px;width:240px;height:240px;opacity:.12;border-radius:48px;}
.about-article{max-width:760px;margin:0 auto;}
.about-article .prose{max-width:none;}
.about-article .prose p{font-size:17px;}
.about-article .pull{font-family:var(--font-display);font-weight:700;font-size:clamp(20px,2.4vw,26px);line-height:1.35;color:var(--navy);border-left:4px solid var(--coral);padding:4px 0 4px 20px;margin:34px 0;}
.about-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 8px;}
.about-roles div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;}
.about-roles h3{font-size:16px;margin:12px 0 6px;}
.about-roles p{font-size:14.5px !important;line-height:1.6;}
.about-roles .aud-icon{width:42px;height:42px;border-radius:12px;margin:0;}
.about-roles .aud-icon svg{width:21px;height:21px;}
.about-next{margin-top:56px;background:var(--paper);border-radius:28px;padding:40px;text-align:center;}
.about-next h2{font-size:clamp(22px,2.6vw,28px);margin-bottom:10px;}
.about-next p{color:var(--ink-soft);font-size:15.5px;line-height:1.6;max-width:560px;margin:0 auto 22px;}
.about-next .chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px;}
.about-next .chips span{font-size:13px;font-weight:600;color:var(--navy);background:var(--white);border:1px solid var(--line);padding:8px 14px;border-radius:999px;}
@media (max-width:899px){ .about-roles{grid-template-columns:1fr;} .about-mark{width:150px;height:150px;} }
@media (max-width:699px){ .about-hero{padding:56px 0 52px;} .about-next{padding:28px 20px;} }
/* Every edge reaches full transparency: horizontal fade x vertical fade. */
.hero-visual-frame{
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 22%, #000 66%, transparent 98%), linear-gradient(180deg, transparent 0%, #000 14%, #000 82%, transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(90deg, transparent 0%, #000 22%, #000 66%, transparent 98%), linear-gradient(180deg, transparent 0%, #000 14%, #000 82%, transparent 100%);
          mask-composite:intersect;}
/* Legal pages: long TOCs scroll within the sticky sidebar. */
.legal-effective{margin-top:14px;font-size:15px;color:var(--navy);}
.legal-toc{max-height:calc(100vh - 130px);overflow-y:auto;}
.legal-article h2{scroll-margin-top:100px;}
.legal-article p strong{color:var(--navy);}
@media (max-width:1099px){ .legal-toc{max-height:none;} }
