
/* Product-platform homepage redesign */
.home-platform .hero{padding:86px 0 76px}.home-platform .hero-grid{grid-template-columns:1.05fr .95fr;gap:70px}.home-platform .hero h1{font-size:clamp(42px,5.4vw,68px);letter-spacing:-.035em}.home-platform .hero p.lead{max-width:630px;font-size:17px}.home-platform .hero-ctas{margin-bottom:28px}.home-platform .btn{border-radius:9px}.home-platform .btn-light{background:rgba(255,255,255,.58);border:1px solid var(--line);color:var(--teal)}
.document-console{background:var(--teal);color:var(--paper);border-radius:22px;padding:20px;box-shadow:0 30px 70px rgba(18,32,58,.26);position:relative;overflow:hidden}.document-console:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(201,154,70,.14);right:-90px;top:-100px}.console-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:4px 4px 16px;border-bottom:1px solid rgba(243,238,228,.14)}.console-head b{font-size:13.5px}.status-pill{font-size:10.5px;color:#d4ffc6;border:1px solid rgba(126,217,87,.35);background:rgba(126,217,87,.1);border-radius:999px;padding:5px 9px}.console-body{position:relative;padding:22px 4px 4px}.console-body>span{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--amber)}.console-body h2{color:var(--paper);font-size:28px;margin:11px 0 9px}.console-body>p{color:rgba(243,238,228,.64);font-size:13.5px;margin:0 0 17px}.selector-list{display:grid;gap:8px}.selector-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid rgba(243,238,228,.13);background:rgba(243,238,228,.05);border-radius:10px;text-decoration:none}.selector-option:hover{background:rgba(243,238,228,.1)}.selector-option b{font-size:13px;color:var(--paper)}.selector-option small{font-size:10.5px;color:rgba(243,238,228,.48);display:block}.selector-option>span:last-child{font-family:'IBM Plex Mono',monospace;color:var(--amber);font-size:11px}.selector-option.primary{background:var(--paper);border-color:var(--paper)}.selector-option.primary b{color:var(--teal)}.selector-option.primary small{color:var(--ink-soft)}.selector-option.primary>span:last-child{color:var(--seal)}
.platform-strip{background:var(--paper-dim);border-block:1px solid var(--line);padding:0}.platform-strip .container{padding-top:24px;padding-bottom:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.platform-strip strong{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.platform-marks{display:flex;gap:26px;flex-wrap:wrap}.platform-marks span{font-size:12.5px;font-weight:600;color:var(--teal)}
.document-catalog{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.document-card{grid-column:span 3;min-height:270px;background:rgba(255,255,255,.56);border:1px solid var(--line);border-radius:16px;padding:25px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.18s ease}.document-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(18,32,58,.11)}.document-card.featured{grid-column:span 6;background:var(--teal);color:var(--paper);min-height:330px}.document-card.wide{grid-column:span 6;min-height:235px}.document-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-50px;top:-50px;background:var(--teal-tint)}.document-card.featured:after{width:210px;height:210px;background:rgba(201,154,70,.14);right:-70px;top:-80px}.document-card-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start}.document-icon{width:45px;height:45px;border-radius:11px;background:var(--teal-tint);color:var(--teal);font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11px;display:grid;place-items:center}.featured .document-icon{background:rgba(243,238,228,.1);color:var(--paper)}.document-label{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--seal);border:1px solid rgba(163,45,45,.18);background:rgba(163,45,45,.06);border-radius:999px;padding:5px 8px}.featured .document-label{color:var(--amber);border-color:rgba(201,154,70,.3);background:rgba(201,154,70,.1)}.document-card h3{position:relative;z-index:1;font-size:25px;margin:24px 0 10px}.document-card.featured h3{color:var(--paper);font-size:34px}.document-card p{position:relative;z-index:1;font-size:14px;color:var(--ink-soft);margin:0 0 18px}.document-card.featured p{color:rgba(243,238,228,.66);font-size:15px;max-width:520px}.document-card-link{position:relative;z-index:1;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--teal);font-size:12.5px;font-weight:600}.featured .document-card-link{border-color:rgba(243,238,228,.18);color:var(--paper)}.document-card-link span{color:var(--ink-soft);font-weight:400}.featured .document-card-link span{color:rgba(243,238,228,.5)}
.needs-section{background:var(--teal);color:var(--paper);position:relative;overflow:hidden}.needs-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 0,rgba(201,154,70,.18),transparent 36%),linear-gradient(rgba(243,238,228,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(243,238,228,.025) 1px,transparent 1px);background-size:auto,50px 50px,50px 50px}.needs-section .container{position:relative}.needs-section .section-head h2{color:var(--paper)}.needs-section .section-head p{color:rgba(243,238,228,.62)}.needs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.need-card{min-height:210px;border:1px solid rgba(243,238,228,.14);background:rgba(243,238,228,.04);border-radius:14px;padding:22px;display:flex;flex-direction:column;text-decoration:none;transition:.18s}.need-card:hover{transform:translateY(-3px);background:rgba(243,238,228,.08)}.need-card>span{font-family:'IBM Plex Mono',monospace;color:var(--amber);font-size:11px}.need-card h3{color:var(--paper);font-size:20px;margin:34px 0 9px}.need-card p{color:rgba(243,238,228,.56);font-size:12.5px;margin:0 0 14px}.need-card b{margin-top:auto;color:var(--amber);font-size:11.5px}
.profile-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center}.profile-copy h2{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:14px 0 17px}.profile-copy p{color:var(--ink-soft);font-size:16px}.profile-points{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:12px}.profile-points li{display:flex;gap:10px;font-size:14px;color:var(--ink-soft)}.profile-points li:before{content:"✓";color:var(--seal);font-weight:600}.profile-stack{display:grid;gap:12px}.profile-card{background:rgba(255,255,255,.56);border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center}.profile-card:nth-child(2){margin-left:35px}.profile-card:nth-child(3){margin-left:70px}.profile-num{width:46px;height:46px;border-radius:10px;background:var(--teal);color:var(--paper);display:grid;place-items:center;font-family:'IBM Plex Mono',monospace;font-size:11px}.profile-card h3{font-size:18px;margin-bottom:4px}.profile-card p{margin:0;color:var(--ink-soft);font-size:12.5px}.profile-card>span:last-child{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--seal)}
.category-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.category-chip{min-height:150px;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.46);border-radius:13px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}.category-chip span{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--seal)}.category-chip b{color:var(--teal);font-size:14px;line-height:1.3}.category-chip small{color:var(--ink-soft);font-size:11px}
.bundle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bundle-card{border:1px solid var(--line);border-radius:16px;padding:28px;background:rgba(255,255,255,.52);display:flex;flex-direction:column}.bundle-card.popular{background:var(--teal);color:var(--paper);transform:translateY(-10px)}.bundle-card>span{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--seal)}.bundle-card.popular>span{color:var(--amber)}.bundle-card h3{font-size:25px;margin:14px 0 9px}.bundle-card.popular h3{color:var(--paper)}.bundle-card p{font-size:13.5px;color:var(--ink-soft)}.bundle-card.popular p,.bundle-card.popular li{color:rgba(243,238,228,.63)}.bundle-card ul{list-style:none;margin:18px 0 24px;padding:18px 0 0;border-top:1px dashed var(--line);display:grid;gap:10px}.bundle-card.popular ul{border-color:rgba(243,238,228,.18)}.bundle-card li{font-size:13px;color:var(--ink-soft)}.bundle-card li:before{content:"✓";color:var(--seal);margin-right:8px}.bundle-card.popular li:before{color:var(--amber)}.bundle-card .btn{margin-top:auto;justify-content:center}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.process-card{background:var(--paper);padding:28px}.process-card>span{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--seal)}.process-card h3{font-size:19px;margin:18px 0 9px}.process-card p{font-size:13.5px;color:var(--ink-soft);margin:0}
.home-platform .lead-section{background:var(--paper-dim)}.home-platform .lead-form{border-radius:14px}.home-platform .lead-copy-tag{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(163,45,45,.07);color:var(--seal);font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.home-platform .lead-section h2{font-size:clamp(30px,4vw,45px)}
.home-platform .cta-band{background:var(--seal);text-align:center;padding:92px 0}.home-platform .cta-band .container{max-width:860px}.home-platform .cta-band:before{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(243,238,228,.13);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.home-platform .cta-band:after{display:none}.home-platform .cta-band h2{font-size:clamp(36px,5vw,58px);max-width:820px;margin-inline:auto}.home-platform .cta-band p{max-width:710px;margin-inline:auto}.home-platform .cta-band .hero-ctas{justify-content:center}
@media(max-width:980px){.home-platform .hero-grid{grid-template-columns:1fr}.document-console{max-width:620px}.document-card{grid-column:span 6}.document-card.featured{grid-column:span 12}.needs-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}.category-rail{grid-template-columns:repeat(3,1fr)}.bundle-grid{grid-template-columns:1fr}.bundle-card.popular{transform:none}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.home-platform .hero{padding-top:62px}.home-platform .hero h1{font-size:39px}.document-console{padding:15px;border-radius:16px}.document-card,.document-card.wide,.document-card.featured{grid-column:span 12;min-height:auto}.document-card.featured h3{font-size:29px}.needs-grid{grid-template-columns:1fr}.need-card{min-height:175px}.profile-card,.profile-card:nth-child(2),.profile-card:nth-child(3){margin-left:0;grid-template-columns:42px 1fr}.profile-card>span:last-child{display:none}.category-rail{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:1fr}.platform-marks{gap:12px 18px}.home-platform .cta-band{padding:72px 0}.home-platform .cta-band:before{width:480px;height:480px}}

/* Hero layout stability: prevent long copy from collapsing the selector column. */
.home-platform .hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
  align-items:center;
}
.home-platform .hero-grid>div{
  min-width:0;
}
.home-platform .document-console{
  width:100%;
  min-width:0;
}

/* Keep the trust row inside the copy column at wide desktop sizes. */
.home-platform .trust-strip{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 24px;
  width:100%;
}
.home-platform .trust-item{
  min-width:0;
}
.home-platform .trust-item b{
  font-size:20px;
  line-height:1.2;
  white-space:normal;
}
.home-platform .trust-item span{
  display:block;
  line-height:1.45;
  white-space:normal;
}
@media (max-width:1080px){
  .home-platform .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(350px,.82fr);
    gap:42px;
  }
}
@media (min-width:981px) and (max-width:1180px){
  .home-platform .trust-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-platform .trust-item:nth-child(3){
    grid-column:1/-1;
  }
}
@media (max-width:980px){
  .home-platform .hero-grid{
    grid-template-columns:1fr;
  }
  .home-platform .document-console{
    max-width:680px;
  }
}

/* ---------- Client marquee (smooth infinite scroll, pauses on hover) ---------- */
.clients-strip{background:var(--paper); border-bottom:1px solid var(--line); padding:26px 0; overflow:hidden;}
.clients-track-wrap{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.clients-track{display:flex; align-items:center; gap:52px; width:max-content; animation:clientsScroll 34s linear infinite;}
.clients-track span{font-family:'Fraunces',serif; font-weight:500; font-size:19px; color:var(--teal); opacity:.55; white-space:nowrap;}
.clients-track-wrap:hover .clients-track{animation-play-state:paused;}
@keyframes clientsScroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media(max-width:620px){
  .clients-track{gap:34px; animation-duration:24s;}
  .clients-track span{font-size:16px;}
}

/* ---------- Checklist ("have these details ready") ---------- */
.checklist-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 20px;}
.checklist-grid li{
  display:flex; gap:13px; align-items:flex-start; font-size:14.5px; line-height:1.5; color:var(--ink-soft);
  padding:18px 20px; background:rgba(255,255,255,.5); border:1px solid var(--line); border-radius:12px;
}
.checklist-grid .check{
  flex-shrink:0; width:22px; height:22px; border-radius:50%; background:var(--teal); color:var(--paper);
  font-size:12px; display:flex; align-items:center; justify-content:center; margin-top:1px;
}
@media(max-width:620px){ .checklist-grid{grid-template-columns:1fr;} }

/* ---------- "Who this is for" industry grid ---------- */
.who-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:10px;}
.who-card{
  min-height:128px; padding:18px; border:1px solid var(--line); background:rgba(255,255,255,.46);
  border-radius:13px; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between;
  transition:.18s ease;
}
.who-card:hover{transform:translateY(-3px); box-shadow:0 14px 32px rgba(18,32,58,.1);}
.who-icon{
  width:34px; height:34px; border-radius:9px; background:var(--teal-tint); color:var(--teal);
  font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:10px; display:grid; place-items:center;
}
.who-card b{color:var(--teal); font-size:13.5px; line-height:1.3; font-weight:600;}
@media(max-width:980px){ .who-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:620px){ .who-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------- Client reviews: vertical auto-scrolling "wall of love" ---------- */
.reviews-rating{display:flex; align-items:center; justify-content:center; gap:9px; margin-top:16px;}
.reviews-rating b{font-family:'Fraunces',serif; font-size:17px; color:var(--ink);}
.reviews-rating-sub{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em;}
.review-stars{color:#E8A93A; font-size:13px; letter-spacing:2px;}

.reviews-wall{
  display:grid; grid-template-columns:1fr 1fr; gap:18px; height:560px; overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
  mask-image:linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
}
.reviews-col{overflow:hidden;}
.reviews-track{display:flex; flex-direction:column; gap:16px; width:100%;}
.reviews-col-up .reviews-track{animation:reviewsScrollUp 28s linear infinite;}
.reviews-col-down .reviews-track{animation:reviewsScrollDown 28s linear infinite;}
@keyframes reviewsScrollUp{from{transform:translateY(0);} to{transform:translateY(-50%);}}
@keyframes reviewsScrollDown{from{transform:translateY(-50%);} to{transform:translateY(0);}}
.reviews-wall:hover .reviews-track{animation-play-state:paused;}

.review-card{
  padding:22px 22px 20px; border:1px solid var(--line); background:rgba(255,255,255,.6);
  border-radius:14px; flex-shrink:0;
}
.review-top{display:flex; align-items:center; gap:12px; margin-bottom:13px;}
.review-avatar{
  width:38px; height:38px; border-radius:50%; background:var(--teal); color:var(--paper);
  display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif;
  font-weight:600; font-size:16px; flex-shrink:0;
}
.review-top b{display:block; font-size:14px; color:var(--ink); margin-bottom:3px;}
.review-card p{font-size:13.5px; line-height:1.6; color:var(--ink-soft); margin:0;}

@media(max-width:860px){
  .reviews-wall{grid-template-columns:1fr; height:480px;}
  .reviews-col-down{display:none;}
}

/* ---------- Scroll reveal (class added only via JS — see home.js) ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.19,1,.22,1), transform .7s cubic-bezier(.19,1,.22,1);}
.reveal.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  .clients-track{animation:none;}
  .reviews-track{animation:none;}
}
