/* ============================================================
   Combined stylesheet
   Auto-combined from selected theme CSS bundles.
   Source order preserved for dependencies and overrides.
   ============================================================ */

/* ------------------------------------------------------------
   Source: colors_and_type.css
   ------------------------------------------------------------ */
/* ============================================================
   LINNOVATE — Colors & Type Foundations
   Operational AI for the enterprise.
   Aesthetic: Apple × Sierra × ServiceNow — calm, premium, human.
   ============================================================ */

/* ---- Typeface: Manrope (brand spec) ----
   Weights in use: 400 Regular · 600 SemiBold · 700 Bold.
   Loaded from Google Fonts. For offline/production, self-host the
   woff2 files into /fonts and swap the @import for @font-face.       */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {

  /* ============ BRAND COLORS (canonical spec) ============ */
  --lime:        #A5CD39;   /* primary accent — precious, used sparingly */
  --pale-lime:   #E8FC9B;   /* soft accent / tint backgrounds */
  --black:       #151513;   /* brand black */
  --white:       #FFFFFF;
  --indigo:      #182C5E;   /* secondary — deep, authoritative */
  --oatmeal:     #FAF8F6;   /* warm off-white surface */
  --light-grey:  #DADADA;   /* dividers / borders (spec) */

  /* Functional green for text/icons ON light backgrounds.
     #A5CD39 fails contrast as text on white, so use moss instead. */
  --moss:        #5F7D33;
  --lime-deep:   #84B441;   /* the working lime used in the hero artifact */

  /* ============ INK / NEUTRAL RAMP (derived) ============ */
  --ink:         #151513;   /* primary text */
  --ink-2:       #3A3A3E;   /* secondary text */
  --muted:       #6B6C70;   /* tertiary text */
  --muted-2:     #9A9A9E;   /* quaternary / captions */
  --line:        #ECECEA;   /* hairline divider on white */
  --line-2:      #DADADA;   /* stronger border */
  --paper:       #FFFFFF;   /* default page background */
  --surface:     #FAF8F6;   /* oatmeal alt surface */
  --surface-2:   #F3F5F0;   /* faint lime-tinted hover surface */

  /* On dark / photo backgrounds */
  --on-dark:        #FFFFFF;
  --on-dark-soft:   rgba(255,255,255,.86);
  --on-dark-muted:  rgba(255,255,255,.62);

  /* ============ SEMANTIC ============ */
  --bg:            var(--paper);
  --fg:            var(--ink);
  --fg-muted:      var(--muted);
  --accent:        var(--lime);
  --accent-text:   var(--moss);   /* green when used as text */
  --accent-soft:   var(--pale-lime);
  --border:        var(--line);
  --border-strong: var(--line-2);
  --link:          var(--moss);

  /* status (kept restrained, in-palette) */
  --positive:      var(--moss);
  --info:          var(--indigo);

  /* ============ TYPE ============ */
  --sans: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* Fluid editorial scale */
  --fs-display-xl: 84px;  --lh-display-xl: 1.02;  --ls-display-xl: -0.03em;
  --fs-display:    64px;  --lh-display:    1.04;  --ls-display:    -0.026em;
  --fs-h1:         50px;  --lh-h1:         1.05;  --ls-h1:         -0.022em;
  --fs-h2:         38px;  --lh-h2:         1.10;  --ls-h2:         -0.02em;
  --fs-h3:         27px;  --lh-h3:         1.20;  --ls-h3:         -0.01em;
  --fs-h4:         20px;  --lh-h4:         1.30;  --ls-h4:         -0.005em;
  --fs-body-lg:    23px;  --lh-body-lg:    1.50;
  --fs-body:       17px;  --lh-body:       1.55;
  --fs-body-sm:    15px;  --lh-body-sm:    1.50;
  --fs-caption:    13px;  --lh-caption:    1.40;
  --fs-eyebrow:    14px;  --ls-eyebrow:    0.02em;

  --wt-regular: 400;
  --wt-medium:  500;   /* nav / UI labels */
  --wt-semibold:600;
  --wt-bold:    700;

  /* ============ RADII ============ */
  --r-xs:  7px;
  --r-sm:  10px;
  --r-md:  16px;
  --r-lg:  18px;
  --r-xl:  24px;
  --r-pill: 999px;

  /* ============ SPACING (4px base) ============ */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;
  --sp-9: 96px; --sp-10: 128px;

  /* ============ SHADOWS / ELEVATION ============ */
  --sh-sm:   0 1px 2px rgba(21,21,19,.06), 0 1px 3px rgba(21,21,19,.05);
  --sh-md:   0 4px 12px -4px rgba(21,21,19,.12), 0 2px 6px rgba(21,21,19,.05);
  --sh-lg:   0 14px 32px -14px rgba(30,40,60,.20);
  --sh-xl:   0 24px 56px -18px rgba(11,13,16,.28);
  --sh-glass:0 16px 40px -16px rgba(0,0,0,.45);

  /* ============ MOTION ============ */
  --ease:      cubic-bezier(.22,.61,.36,1);   /* calm ease-out */
  --ease-soft: cubic-bezier(.4,0,.2,1);
  --dur-fast:  .18s;
  --dur:       .22s;
  --dur-slow:  .4s;
}

/* ============================================================
   SEMANTIC ELEMENT DEFAULTS
   ============================================================ */
body {
  font-family: var(--sans);
  font-weight: var(--wt-regular);
  color: var(--fg);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.lin-display-xl { font-size: var(--fs-display-xl); line-height: var(--lh-display-xl); letter-spacing: var(--ls-display-xl); font-weight: var(--wt-regular); }
.lin-display    { font-size: var(--fs-display);    line-height: var(--lh-display);    letter-spacing: var(--ls-display);    font-weight: var(--wt-regular); }
h1, .h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: var(--ls-h1); font-weight: var(--wt-regular); }
h2, .h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); letter-spacing: var(--ls-h2); font-weight: var(--wt-regular); }
h3, .h3 { font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); font-weight: var(--wt-semibold); }
h4, .h4 { font-size: var(--fs-h4); line-height: var(--lh-h4); letter-spacing: var(--ls-h4); font-weight: var(--wt-semibold); }

.lin-body-lg { font-size: var(--fs-body-lg); line-height: var(--lh-body-lg); font-weight: var(--wt-regular); }
.lin-body    { font-size: var(--fs-body);    line-height: var(--lh-body);    font-weight: var(--wt-regular); }
.lin-body-sm { font-size: var(--fs-body-sm); line-height: var(--lh-body-sm); font-weight: var(--wt-regular); }
.lin-caption { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--muted-2); }

.lin-eyebrow {
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  color: var(--muted-2);
  font-weight: var(--wt-medium);
}

/* green accents */
.lin-accent-dot { color: var(--lime); }
a { color: var(--link); text-decoration: none; }

/* ------------------------------------------------------------
   Source: kit.css
   ------------------------------------------------------------ */
/* ============================================================
   Linnovate Website UI Kit — styles
   Built on ../../colors_and_type.lin-css (Manrope + brand palette).
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
.lin-dot{color:var(--lime);}

/* ---- Buttons ---- */
.lin-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:16px;font-weight:400;cursor:pointer;border-radius:999px;padding:15px 28px;border:1px solid transparent;transition:all .2s var(--ease);white-space:nowrap;}
.lin-btn .lin-lic svg{stroke-width:1.8;}
.lin-btn--lime{background:var(--lime);color:#1c2a06;border-color:var(--lime);font-weight:600;}
.lin-btn--lime:hover{background:#b6d855;border-color:#b6d855;}
.lin-btn--dark{background:var(--ink);color:#fff;border-color:var(--ink);}
.lin-btn--dark:hover{background:#2a2a2c;}
.lin-hero2-cta .lin-btn--outline, .lin-sv-hero .lin-btn--outline{background:transparent;color:var(--ink);border-color:var(--line-2);}
.lin-btn--outline:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.lin-btn--white{background:#fff;color:var(--ink);border-color:#fff;}
.lin-btn--white:hover{background:rgba(255,255,255,.88);}
.lin-btn--clear{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.lin-btn--clear:hover{background:rgba(255,255,255,.22);}
.lin-btn--ghost{background:transparent;color:var(--moss);border:none;font-weight:500;padding:15px 8px;}

.lin-eyebrow{font-size:14px;letter-spacing:.02em;color:var(--muted-2);font-weight:500;}
.lin-eyebrow.lin-eyebrow--on-dark{color:rgba(255,255,255,.7);}

.lin-page{max-width:1640px;margin:0 auto;padding:0 56px;}

/* ============ NAV ============ */
.lin-nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);border-bottom:1px solid transparent;}
.lin-nav.lin-nav--solid{background:rgba(255,255,255,.86);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-bottom-color:var(--line);}
.lin-nav-inner{max-width:1640px;margin:0 auto;padding:0 56px;height:88px;display:flex;align-items:center;justify-content:space-between;position:relative;}
.lin-logo{height:28px;width:auto;display:block;transition:filter .3s var(--ease);}
.lin-nav:not(.lin-nav--solid) .lin-logo{filter:brightness(0) invert(1) drop-shadow(0 1px 10px rgba(0,0,0,.45));}
.lin-nav-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:38px;}
.lin-nav-item{position:relative;}
.lin-nav-link{display:inline-flex;align-items:center;gap:5px;font-size:16px;font-weight:500;letter-spacing:.005em;cursor:pointer;padding:10px 0;transition:color .18s var(--ease);color:var(--ink);white-space:nowrap;}
.lin-nav:not(.lin-nav--solid) .lin-nav-link{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.5);}
.lin-cv svg{transition:transform .22s var(--ease);}
.lin-nav-item:hover .lin-cv svg{transform:rotate(180deg);}
.lin-menu{position:absolute;top:calc(100% + 12px);left:50%;min-width:248px;background:rgba(255,255,255,.97);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid rgba(11,13,16,.07);border-radius:16px;box-shadow:var(--sh-xl);padding:10px;display:flex;flex-direction:column;gap:1px;opacity:0;transform:translateX(-50%) translateY(8px);pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease);}
.lin-nav-item:hover .lin-menu{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.lin-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.lin-menu a{display:block;padding:11px 15px;border-radius:10px;font-size:15px;color:var(--ink);white-space:nowrap;text-shadow:none;transition:background .15s,color .15s;}
.lin-menu a:hover{background:var(--surface-2);color:var(--moss);}
.lin-nav-cta{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:11px 22px;font-family:var(--sans);font-size:15px;cursor:pointer;transition:all .2s var(--ease);}
.lin-nav:not(.lin-nav--solid) .lin-nav-cta{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.42);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.lin-nav:not(.lin-nav--solid) .lin-nav-cta:hover{background:#fff;color:var(--ink);}
.lin-nav.lin-nav--solid .lin-nav-cta{background:var(--ink);border:1px solid var(--ink);color:#fff;}
.lin-nav.lin-nav--solid .lin-nav-cta:hover{background:#2a2a2c;}

/* ============ HERO ============ */
.lin-hero{position:relative;min-height:70vh;overflow:hidden;display:flex;flex-direction:column;background:#33373c;}
.lin-hero-bg{position:absolute;inset:0;z-index:0;}
.lin-hero-img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;}
.lin-hero-tint{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(180deg,rgba(11,13,16,.6) 0%,rgba(11,13,16,.14) 13%,rgba(11,13,16,0) 24%),
  linear-gradient(90deg,rgba(11,13,16,.8) 0%,rgba(11,13,16,.66) 28%,rgba(11,13,16,.46) 52%,rgba(11,13,16,.26) 74%,rgba(11,13,16,.12) 100%),
  linear-gradient(0deg,rgba(11,13,16,.5) 0%,rgba(11,13,16,0) 46%);}
.lin-hero-inner{position:relative;z-index:5;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:1640px;width:100%;margin:0 auto;padding:88px 56px 96px;}
.lin-hero-h1{font-weight:400;font-size:84px;line-height:1.02;letter-spacing:-.028em;color:#fff;max-width:680px;text-shadow:0 2px 30px rgba(0,0,0,.45);}
.lin-hero-sub{margin-top:30px;font-size:23px;line-height:1.5;color:rgba(255,255,255,.95);max-width:600px;text-shadow:0 1px 22px rgba(0,0,0,.5);}
.lin-hero-sub .lin-em{color:#fff;font-weight:600;}
.lin-cta-row{display:flex;gap:14px;margin-top:42px;}

/* hero anim */
.lin-hero-anim,.lk-hero-anim{position:absolute;z-index:5;right:6%;bottom:9%;width:360px;display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.lin-ha-msg,.lin-ha-agent,.lin-ha-card,.lk-ha-msg,.lk-ha-agent,.lk-ha-card,.ha-msg,.ha-agent,.ha-card{backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:var(--sh-glass);}
.lin-ha-msg,.lk-ha-msg,.ha-msg{align-self:flex-end;max-width:280px;padding:14px 18px;font-size:15px;color:rgba(255,255,255,.94);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);border-radius:16px 16px 4px 16px;}
.lin-ha-agent,.lk-ha-agent,.ha-agent{align-self:flex-end;max-width:336px;padding:16px 18px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:16px 16px 16px 4px;}
.lin-ha-agent .lin-ha-h,.lk-ha-agent .lk-ha-h,.ha-agent .ha-h,.ha-agent .lin-ha-h,.ha-agent .lk-ha-h{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.74);margin-bottom:9px;}
.lin-ha-agent p,.lk-ha-agent p,.ha-agent p{font-size:15px;line-height:1.42;color:#fff;}
.lin-ha-card,.lk-ha-card,.ha-card{display:flex;align-items:center;gap:13px;width:308px;padding:14px 16px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.32);border-radius:16px;}
.lin-ha-ic,.lk-ha-ic,.ha-ic{width:34px;height:34px;border-radius:50%;background:#3fa34d;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.lin-ha-t,.lk-ha-t,.ha-t{color:#fff;font-size:15px;}
.lin-ha-s,.lk-ha-s,.ha-s{color:rgba(255,255,255,.8);font-size:13px;margin-top:2px;}
.lin-ha-msg,.lk-ha-msg,.ha-msg{animation:haPop 13s ease-in-out infinite;}
.lin-ha-agent,.lk-ha-agent,.ha-agent{animation:haPop2 13s ease-in-out infinite;}
.lin-ha-card,.lk-ha-card,.ha-card{animation:haPop3 13s ease-in-out infinite;}
@keyframes haPop{0%,3%{opacity:0;transform:translateY(12px);}7%,88%{opacity:1;transform:translateY(0);}95%,100%{opacity:0;transform:translateY(-6px);}}
@keyframes haPop2{0%,12%{opacity:0;transform:translateY(12px);}17%,88%{opacity:1;transform:translateY(0);}95%,100%{opacity:0;transform:translateY(-6px);}}
@keyframes haPop3{0%,21%{opacity:0;transform:translateY(12px);}26%,88%{opacity:1;transform:translateY(0);}95%,100%{opacity:0;transform:translateY(-6px);}}
@media (prefers-reduced-motion:reduce){.lin-ha-msg,.lin-ha-agent,.lin-ha-card,.lk-ha-msg,.lk-ha-agent,.lk-ha-card,.ha-msg,.ha-agent,.ha-card{animation:none;opacity:1;transform:none;}}

/* ============ SHOWCASE ============ */
.lin-showcase{max-width:1640px;margin:0 auto;padding:104px 56px 0;}
.lin-sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;}
.lin-sec-head h2{font-weight:400;font-size:50px;letter-spacing:-.025em;color:var(--ink);margin-top:16px;line-height:1.04;max-width:560px;}
.lin-sec-head p{margin-top:20px;font-size:19px;color:var(--muted);max-width:600px;line-height:1.5;}
.lin-rail-ctrls{display:flex;gap:10px;flex-shrink:0;padding-bottom:6px;}
.lin-rail-ctrls button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease);}
.lin-rail-ctrls button:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

.lin-cards{display:flex;gap:16px;margin-top:48px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:none;}
.lin-cards::-webkit-scrollbar{display:none;}
.lin-card{position:relative;flex:0 0 clamp(290px,23.5vw,352px);height:clamp(470px,47vw,576px);border-radius:18px;overflow:hidden;scroll-snap-align:start;}
.lin-card .lin-c-photo{position:absolute;inset:0;background:#dcdcda;}
.lin-card .lin-c-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;}
.lin-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(18,18,20,.55) 0%,rgba(18,18,20,.12) 32%,rgba(18,18,20,0) 52%);}
.lin-grad-sky{background:linear-gradient(168deg,#c2d1e4 0%,#dbe4ee 52%,#eef2f6 100%);}
.lin-grad-warm{background:linear-gradient(168deg,#dcdbd5 0%,#e8e7e1 58%,#f3f2ee 100%);}
.lin-grad-neutral{background:linear-gradient(168deg,#d6dbe1 0%,#e6e9ed 58%,#f3f4f6 100%);}
.lin-grad-indigo{background:linear-gradient(165deg,#182C5E 0%,#27407a 60%,#33508f 100%);}

.lin-c-head{position:absolute;top:30px;left:30px;right:30px;z-index:4;}
.lin-c-head h3{font-weight:600;font-size:27px;letter-spacing:-.01em;}
.lin-c-head p{margin-top:13px;font-size:14.5px;line-height:1.46;}
.lin-card.lin-card--photo .lin-c-head h3{color:#fff;}
.lin-card.lin-card--photo .lin-c-head p{color:rgba(255,255,255,.86);}
.lin-card.lin-card--grad .lin-c-head h3{color:var(--ink);}
.lin-card.lin-card--grad .lin-c-head p{color:var(--muted);}
.lin-c-head.lin-c-head--dark h3{color:#fff;}
.lin-c-head.lin-c-head--dark p{color:rgba(255,255,255,.78);}

.lin-glass{background:rgba(255,255,255,.62);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.7);box-shadow:var(--sh-lg);}
.lin-glass-dark{background:rgba(255,255,255,.16);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.3);box-shadow:var(--sh-glass);}

.lin-chat-pill{position:absolute;left:30px;bottom:38px;z-index:4;display:flex;align-items:center;gap:11px;padding:14px 20px;border-radius:999px;font-size:15px;color:var(--ink-2);}
.lin-chat-pill .lin-av{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#8fb6d6,#b7c9a0);flex-shrink:0;}
.lin-caret{width:1.5px;height:15px;background:var(--ink-2);display:inline-block;animation:blink 1.1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}

.lin-stack{position:absolute;left:30px;right:30px;bottom:40px;z-index:4;display:flex;flex-direction:column;gap:13px;align-items:flex-start;}
.lin-chip{display:inline-flex;align-items:center;gap:11px;padding:13px 17px;border-radius:999px;font-size:14.5px;color:var(--ink-2);}
.lin-chip .lin-ic{width:23px;height:23px;border-radius:7px;background:var(--lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.lin-chip .lin-save{color:var(--moss);font-weight:700;}

.lin-panel{position:absolute;left:24px;right:24px;bottom:34px;z-index:4;border-radius:16px;padding:20px;}
.lin-panel-h{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink);padding-bottom:14px;border-bottom:1px solid rgba(40,40,50,.1);}
.lin-panel-h .lin-lic svg{color:var(--muted);}
:not(.lin-timeline) > .lin-step{display:flex;align-items:center;gap:11px;margin-top:13px;font-size:13.5px;color:var(--ink-2);}
.lin-ck{width:18px;height:18px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.lin-src{margin-top:15px;font-size:12.5px;color:var(--muted-2);}

.lin-ops{position:absolute;left:24px;right:24px;bottom:34px;z-index:4;border-radius:16px;padding:20px;}
.lin-ops-top{display:flex;align-items:center;justify-content:space-between;}
.lin-ops-top .lin-t{font-size:14.5px;color:var(--ink);}
.lin-ops-top .lin-live{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);}
.lin-ops-top .lin-live .lin-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);}
.lin-ops-metrics{display:flex;gap:32px;margin-top:16px;}
.lin-ops-metrics .lin-lbl{font-size:12px;color:var(--muted);}
.lin-ops-metrics .lin-val{font-size:30px;font-weight:400;margin-top:4px;line-height:1;color:var(--ink);letter-spacing:-.02em;}
.lin-ops-metrics .lin-val.lin-pos{color:var(--moss);}
.lin-ops-chart{margin-top:16px;}
.lin-ops-chart svg{width:100%;height:46px;display:block;}

.lin-aud-chip{position:absolute;left:30px;bottom:38px;z-index:4;display:flex;align-items:center;gap:11px;padding:13px 18px;border-radius:999px;font-size:14px;color:#fff;}
.lin-aud-chip .lin-lic svg{color:var(--lime);}

.lin-trust{margin-top:44px;font-size:15px;color:var(--muted-2);line-height:1.5;max-width:880px;}

/* ============ VALUES ============ */
.lin-values{max-width:1640px;margin:104px auto 0;padding:52px 56px 8px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.lin-value .lin-num{font-size:13px;color:var(--muted-2);letter-spacing:.04em;}
.lin-value h4{font-size:18px;font-weight:600;color:var(--ink);margin:14px 0 9px;}
.lin-value p{font-size:14.5px;color:var(--muted);line-height:1.5;}

/* ============ FOOTER ============ */
.lin-footer{max-width:1640px;margin:104px auto 0;padding:0 56px 64px;}
.lin-footer-top{display:flex;justify-content:space-between;gap:60px;padding:64px 0 56px;border-top:1px solid var(--line);flex-wrap:wrap;}
.lin-footer-cta h3{font-size:38px;font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-bottom:24px;max-width:380px;}
.lin-footer-cols{display:flex;gap:56px;}
.lin-fcol .lin-fh{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:14px;}
.lin-fcol a{display:block;font-size:14.5px;color:var(--muted);padding:5px 0;transition:color .15s;}
.lin-fcol a:hover{color:var(--moss);}
.lin-footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:32px;border-top:1px solid var(--line);}
.lin-flogo{height:22px;opacity:.9;}
.lin-footer-bottom span{font-size:13px;color:var(--muted-2);}

/* ============ CONTACT PANEL ============ */
.lin-overlay{position:fixed;inset:0;z-index:100;background:rgba(11,13,16,.4);opacity:0;pointer-events:none;transition:opacity .3s var(--ease);backdrop-filter:blur(2px);}
.lin-overlay.lin-overlay--open{opacity:1;pointer-events:auto;}
.lin-panel{position:absolute;top:0;right:0;height:100%;width:min(480px,100%);background:var(--paper);box-shadow:var(--sh-xl);padding:56px 48px;overflow-y:auto;transition:transform .4s var(--ease);}
.lin-panel-x{position:absolute;top:24px;right:24px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .2s var(--ease);}
.lin-panel-x:hover{background:var(--surface);}
.lin-panel-h{font-size:38px;font-weight:400;letter-spacing:-.022em;margin:14px 0 12px;line-height:1.05;}
.lin-panel-sub{font-size:16px;color:var(--muted);line-height:1.5;}
.lin-form{display:flex;flex-direction:column;gap:18px;margin-top:32px;}
.lin-field{display:flex;flex-direction:column;gap:8px;}
.lin-field-lbl{font-size:13px;font-weight:600;color:var(--ink-2);}
.lin-field input,.lin-field textarea{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;outline:none;transition:border-color .18s,box-shadow .18s;resize:none;}
.lin-field input::placeholder,.lin-field textarea::placeholder{color:var(--muted-2);}
.lin-field input:focus,.lin-field textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(165,205,57,.18);background:#fff;}
.lin-form .lin-btn{margin-top:8px;justify-content:center;}
.lin-sent{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:40px;}
.lin-sent-ic{width:56px;height:56px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;color:#1c2a06;margin-bottom:6px;}
.lin-sent .lin-panel-h{margin-top:0;}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .lin-nav-inner,.lin-hero-inner,.lin-showcase,.lin-values,.lin-footer{padding-left:32px;padding-right:32px;}
  .lin-hero-h1{font-size:58px;}
  .lin-hero-anim{display:none;}
  .lin-values{grid-template-columns:1fr 1fr;gap:40px 32px;}
}
@media (max-width:620px){
  .lin-hero-h1{font-size:42px;}
  .lin-hero-sub{font-size:19px;}
  .lin-sec-head h2{font-size:36px;}
  .lin-values{grid-template-columns:1fr;}
  .lin-cta-row{flex-wrap:wrap;}
  .lin-rail-ctrls{display:none;}
}

/* ============ MOBILE NAV (hamburger) ============ */
.lin-nav-toggle{
  display:none;
  position:relative;
  z-index:60;
  flex-shrink:0;
  width:44px;height:44px;
  margin:0;padding:0;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
  align-items:center;justify-content:center;
  transition:background .2s var(--ease),border-color .2s var(--ease);
}
.lin-nav-toggle:hover{background:rgba(11,13,16,.06);}
.lin-nav:not(.lin-nav--solid) .lin-nav-toggle:hover{background:rgba(255,255,255,.14);}
.lin-nav-toggle-bars{
  display:block;position:relative;
  width:20px;height:2px;
  background:var(--ink);
  border-radius:2px;
  transition:background .2s var(--ease);
}
.lin-nav:not(.lin-nav--solid) .lin-nav-toggle-bars{background:#fff;}
.lin-nav-toggle-bars::before,
.lin-nav-toggle-bars::after{
  content:"";position:absolute;left:0;
  width:20px;height:2px;
  background:inherit;border-radius:2px;
  transition:transform .28s var(--ease),top .28s var(--ease),opacity .2s var(--ease);
}
.lin-nav-toggle-bars::before{top:-6px;}
.lin-nav-toggle-bars::after{top:6px;}
.lin-nav--open .lin-nav-toggle-bars{background:var(--ink);}
.lin-nav--open .lin-nav-toggle-bars::before{top:0;transform:rotate(45deg);}
.lin-nav--open .lin-nav-toggle-bars::after{top:0;transform:rotate(-45deg);}

.lin-nav-drawer{display:none;}
.lin-nav-mobile-cta{display:none !important;}

@media (max-width:1080px){
  .lin-nav-toggle{display:inline-flex;margin-left:auto;}
  .lin-nav-inner{gap:12px;}
  .lin-nav .lin-nav-cta:not(.lin-nav-mobile-cta){display:none !important;}

  .lin-nav-drawer{
    display:block;
    position:fixed;
    left:0;right:0;
    top:88px;
    bottom:0;
    z-index:60;
    background:#fff;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:8px 20px 32px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
  }
  .lin-nav-drawer.lin-nav-drawer--open,
  body.lin-nav-open .lin-nav-drawer{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .lin-nav-drawer .lin-nav-links{
    display:flex !important;
    position:static !important;
    left:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    height:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:transparent;
    border:none;
  }

  .lin-nav--open,
  body.lin-nav-open .lin-nav{
    background:#fff !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-bottom-color:var(--line);
  }
  .lin-nav--open .lin-logo,
  body.lin-nav-open .lin-nav .lin-logo{filter:none !important;}
  .lin-nav--open .lin-nav-toggle-bars,
  body.lin-nav-open .lin-nav-toggle-bars{background:var(--ink);}

  .lin-nav-drawer .lin-nav-item{width:100%;border-bottom:1px solid var(--line);}
  .lin-nav-drawer .lin-nav-item:last-child{border-bottom:none;}
  .lin-nav-drawer .lin-nav-link,
  .lin-nav-drawer .lin-nav-item > a.lin-nav-link{
    width:100%;
    justify-content:space-between;
    padding:16px 4px;
    font-size:18px;
    font-weight:600;
    color:var(--ink) !important;
    text-shadow:none !important;
  }
  .lin-nav-drawer .lin-nav-item:hover .lin-menu{opacity:0;transform:none;pointer-events:none;}
  .lin-nav-drawer .lin-menu{
    position:static !important;
    left:auto !important;top:auto !important;
    min-width:0;width:100%;
    margin:0 0 10px;
    padding:0 4px 8px 12px;
    border:none;border-radius:0;box-shadow:none;
    background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;
    opacity:1 !important;transform:none !important;pointer-events:auto !important;
    display:none;
  }
  .lin-nav-drawer .lin-nav-item.lin-nav-item--expanded .lin-menu{display:flex;}
  .lin-nav-drawer .lin-nav-item.lin-nav-item--expanded .lin-cv svg{transform:rotate(180deg);}
  .lin-nav-drawer .lin-menu::before{display:none;}
  .lin-nav-drawer .lin-menu a{
    padding:11px 8px;
    font-size:16px;
    color:var(--ink-2);
  }

  .lin-nav-drawer .lin-nav-mobile-cta{
    display:flex !important;
    width:100%;
    margin-top:20px;
    justify-content:center;
    background:var(--ink) !important;
    border:1px solid var(--ink) !important;
    color:#fff !important;
  }

  body.lin-nav-open{overflow:hidden;}
  body.admin-bar .lin-nav-drawer{top:calc(88px + 32px);}
}
@media (max-width:782px){
  body.admin-bar .lin-nav-drawer{top:calc(88px + 46px);}
}
@media (max-width:620px){
  .lin-nav-inner{padding-left:20px;padding-right:20px;height:72px;}
  .lin-nav-drawer{top:72px;padding:4px 16px 28px;}
  body.admin-bar .lin-nav-drawer{top:calc(72px + 46px);}
}

/* ------------------------------------------------------------
   Source: shared.css
   ------------------------------------------------------------ */
/* ============================================================
   Linnovate — cross-page shared additions
   Loaded by every page after kit.lin-css. Nav tags, active state,
   and the universal image-placeholder treatment.
   ============================================================ */

/* nav dropdown product tag (Linno / The Brain / ProcAI) */
.lin-menu a { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.lin-menu-tag { font-size:11px; font-weight:700; letter-spacing:.04em; color:var(--moss); background:var(--surface-2); border-radius:999px; padding:2px 9px; }

/* active top-level nav item */
.lin-nav-item.lin-nav-item--active .lin-nav-link { font-weight:700; }
.lin-nav-link--static { cursor:default; }

/* ============================================================
   SECTION REVEAL — gentle on-scroll entrance for sections
   ============================================================ */
html.lin-sections-reveal-ready section,
html.lin-sections-reveal-ready .brxe-section,
html.lin-sections-reveal-ready .lin-reveal-item,
html.lin-sections-reveal-ready .lin-story-q,
html.lin-sections-reveal-ready .lin-pillar,
html.lin-sections-reveal-ready [data-lin-reveal] {
  transform: translateY(26px);
  transition: transform .7s var(--ease);
  will-change: transform;
}
html.lin-sections-reveal-ready section.lin-inview,
html.lin-sections-reveal-ready .brxe-section.lin-inview,
html.lin-sections-reveal-ready .lin-reveal-item.lin-inview,
html.lin-sections-reveal-ready .lin-story-q.lin-inview,
html.lin-sections-reveal-ready .lin-pillar.lin-inview,
html.lin-sections-reveal-ready [data-lin-reveal].lin-inview {
  transform: none;
}
html.lin-sections-reveal-ready .lin-gt-left,
html.lin-sections-reveal-ready .lin-gt-right,
html.lin-sections-reveal-ready #lin-contact-panel,
html.lin-sections-reveal-ready .lin-overlay {
  transform: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  html.lin-sections-reveal-ready section,
  html.lin-sections-reveal-ready .brxe-section,
  html.lin-sections-reveal-ready .lin-reveal-item,
  html.lin-sections-reveal-ready .lin-story-q,
  html.lin-sections-reveal-ready .lin-pillar,
  html.lin-sections-reveal-ready [data-lin-reveal] {
    transform: none;
    transition: none;
  }
}

/* ============================================================
   IMAGE PLACEHOLDER — the developer-replaceable photo zone.
   Every page marks intended photography with .lin-img-placeholder.
   ============================================================ */
.lin-img-placeholder {
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; text-align: center;
  background:
    repeating-linear-gradient(135deg, rgba(21,21,19,.018) 0 14px, transparent 14px 28px),
    var(--surface);
  border: 1px dashed var(--line-2);
  color: var(--muted-2);
  padding: 28px;
  overflow: hidden;
}
.lin-img-placeholder .lin-ip-ic {
  width: 46px; height: 46px; border-radius: 12px;
  background: #fff; border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center; color: var(--moss);
  box-shadow: var(--sh-sm);
}
.lin-img-placeholder .lin-ip-label { font-size: 13px; font-weight: 700; color: var(--ink-2); letter-spacing: .01em; line-height: 1.4; max-width: 32ch; }
.lin-img-placeholder .lin-ip-meta { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); }

/* placeholder filled with a real photo */
.lin-img-placeholder.lin-has-img { padding: 0; border: none; background: none; }
.lin-img-placeholder .lin-ip-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* placeholder used on top of dark / photo zones (hero) */
.lin-img-placeholder.lin-img-placeholder--on-dark {
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 14px, transparent 14px 28px),
    #2c3036;
  border-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.7);
}
.lin-img-placeholder.lin-img-placeholder--on-dark .lin-ip-ic { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: var(--lime); }
.lin-img-placeholder.lin-img-placeholder--on-dark .lin-ip-label { color: #fff; }
.lin-img-placeholder.lin-img-placeholder--on-dark .lin-ip-meta { color: rgba(255,255,255,.6); }

/* placeholder that fills its parent (hero background) */
.lin-img-placeholder.lin-fill { position: absolute; inset: 0; border: none; padding: 56px; }

/* anchor targets clear the fixed nav when jumped to */
[id] { scroll-margin-top: 96px; }

/* ============================================================
   FOOTER — link grid (left) + Discovery Workshop CTA (right).
   Designed as a balanced pair; CTA reads as a quiet panel.
   ============================================================ */
.lin-footer-top { flex-wrap: nowrap; align-items: stretch; gap: 72px; }
.lin-footer-cols { flex: 1 1 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; align-content: flex-start; }
.lin-fcol { min-width: 0; }

.lin-footer-cta {
  flex: 0 0 320px; align-self: stretch;
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 32px 34px; border-radius: var(--r-xl);
  background: var(--oatmeal); border: 1px solid var(--line);
}
.lin-footer-cta-eyebrow {
  font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--moss); margin-bottom: 16px;
}
.lin-footer-cta h3 {
  font-size: 30px; font-weight: 400; letter-spacing: -.022em; line-height: 1.08;
  color: var(--ink); margin: 0 0 12px; max-width: none;
}
.lin-footer-cta p {
  font-size: 14.5px; line-height: 1.5; color: var(--muted); margin: 0 0 22px; max-width: 30ch;
}
.lin-footer-cta .lin-btn { margin-top: auto; }

@media (max-width: 1180px) {
  .lin-footer-top { flex-wrap: wrap; gap: 48px; }
  .lin-footer-cols { gap: 32px 40px; }
  .lin-footer-cta { flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 28px; }
  .lin-footer-cta-eyebrow { flex-basis: 100%; margin-bottom: 4px; }
  .lin-footer-cta h3 { margin: 0; }
  .lin-footer-cta p { margin: 0; flex: 1 1 240px; }
  .lin-footer-cta .lin-btn { margin-top: 0; }
}
@media (max-width: 620px) {
  .lin-footer-cols { grid-template-columns: repeat(2, 1fr); gap: 28px 32px; }
  .lin-footer-cta { flex-direction: column; align-items: flex-start; }
}

/* ------------------------------------------------------------
   Source: site.css
   ------------------------------------------------------------ */
/* ============================================================
   Linnovate Homepage V5 — section styles
   Story: Company → Credibility → Outcomes → Proof → Platform
          → Delivery Capability → Trust → Action
   Extends colors_and_type.lin-css + kit.lin-css.
   ============================================================ */

/* shared section frame */
.lin-section { max-width: 1640px; margin: 0 auto; padding-left: 56px; padding-right: 56px; }
.lin-section-pad { padding-top: 120px; padding-bottom: 120px; }
.lin-surface-oatmeal { background: var(--oatmeal); }
.lin-eyebrow-accent { color: var(--moss); font-weight: 600; }

.lin-head { max-width: 760px; margin-bottom: 60px; }
.lin-head h2 { font-weight: 400; font-size: 50px; letter-spacing: -.025em; line-height: 1.04; margin-top: 16px; color: var(--ink); text-wrap: balance; }
.lin-head p { margin-top: 20px; font-size: 19px; color: var(--muted); line-height: 1.5; max-width: 620px; }
.lin-head .lin-soft { color: var(--muted-2); }

/* ============ HERO copy ============ */
.lin-hero__headline .lin-nowrap { white-space: nowrap; }

/* ============ TRUSTED BY ============ */
.lin-trusted-by { background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lin-trusted-inner { max-width: 1640px; margin: 0 auto; padding: 52px 56px; }
.lin-trusted-lead {
  display: flex; align-items: center; gap: 20px;
  font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--muted-2); font-weight: 700;
}
.lin-trusted-lead::before,
.lin-trusted-lead::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.lin-logo-grid {
  margin-top: 44px;
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 44px 34px;
}
.lin-logo-cell {
  width: 138px; height: 56px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.lin-logo-img, .lk-logo-img {
  width: auto;
  max-width: 130px;
  object-fit: contain;
  filter: grayscale(1) opacity(.68);
  transition: filter .24s var(--ease), transform .24s var(--ease);
}
.lin-logo-cell:hover .lin-logo-img,
.lk-logo-cell:hover .lk-logo-img,
.lin-logo-grid:hover .lin-logo-cell:hover .lin-logo-img,
.lk-logo-grid:hover .lk-logo-cell:hover .lk-logo-img {
  filter: grayscale(0) opacity(1);
  transform: translateY(-1px);
}

/* ============ OUTCOMES — Why organizations choose Linnovate ============ */
.lin-outcomes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.lin-outcome {
  position: relative; background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: 32px 28px 34px;
  display: flex; flex-direction: column; min-height: 272px; overflow: hidden;
  transition: box-shadow .22s var(--ease), transform .22s var(--ease), border-color .22s var(--ease);
}
.lin-outcome::after {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--lime); transform: scaleY(0); transform-origin: top;
  transition: transform .3s var(--ease);
}
.lin-outcome:hover { box-shadow: var(--sh-md); transform: translateY(-4px); border-color: var(--line-2); }
.lin-outcome:hover::after { transform: scaleY(1); }
.lin-outcome-ic {
  width: 46px; height: 46px; border-radius: 12px;
  background: var(--surface-2); border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center; color: var(--moss);
  margin-bottom: 22px;
}
.lin-outcome h3 { font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); line-height: 1.25; }
.lin-outcome p { margin-top: 12px; font-size: 15px; line-height: 1.55; color: var(--muted); }
.lin-outcome .lin-grow { flex: 1; }
.lin-outcome .lin-metric { margin-top: 22px; display: flex; align-items: baseline; gap: 8px; }
.lin-outcome .lin-metric .lin-v { font-size: 30px; font-weight: 400; letter-spacing: -.02em; color: var(--ink); line-height: 1; }
.lin-outcome .lin-metric .lin-v.lin-pos { color: var(--moss); }
.lin-outcome .lin-metric .lin-l { font-size: 13px; color: var(--muted-2); }

/* ============ CUSTOMER SUCCESS STORY ============ */
.lin-success-story { background: var(--paper); border-top: 1px solid var(--line); }
.lin-story-inner.lin-flip { grid-template-columns: 1fr 300px; }
.lin-story-media .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-story-media .lin-badge svg { width: 15px; height: 15px; color: var(--moss); }
.lin-story-inner {
  max-width: 1640px; margin: 0 auto; padding: 120px 56px;
  display: grid; grid-template-columns: 300px 1fr; gap: 64px; align-items: center;
}
.lin-story-media { position: relative; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 1/1; background: #dcdcda; box-shadow: var(--sh-lg); max-width: 300px; }
.lin-story-media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.lin-story-media .lin-badge {
  position: absolute; left: 14px; bottom: 14px; z-index: 3;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 13px; border-radius: 999px;
  background: rgba(255,255,255,.78); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.7); box-shadow: var(--sh-md);
  font-size: 12.5px; font-weight: 600; color: var(--ink);
}
.lin-story-media .lin-badge .lin-lic svg { color: var(--moss); }
.lin-story-q {
  font-weight: 400; font-size: 38px; line-height: 1.22; letter-spacing: -.02em;
  color: var(--ink); text-wrap: pretty;
}
.lin-story-q .lin-hl { color: var(--moss); }
.lin-story-attr { margin-top: 32px; display: flex; align-items: center; gap: 14px; }
.lin-story-attr .lin-nm { font-size: 16px; font-weight: 700; color: var(--ink); }
.lin-story-attr .lin-rl { font-size: 14.5px; color: var(--muted); margin-top: 2px; }
.lin-story-stats { margin-top: 44px; display: flex; gap: 56px; flex-wrap: wrap; padding-top: 32px; border-top: 1px solid var(--line); }
.lin-story-stat .lin-v { font-size: 44px; font-weight: 400; letter-spacing: -.03em; color: var(--ink); line-height: 1; }
.lin-story-stat .lin-v.lin-pos { color: var(--moss); }
.lin-story-stat .lin-l { font-size: 14px; color: var(--muted); margin-top: 12px; max-width: 180px; line-height: 1.4; }

/* ============ THE LINNOVATE AI PLATFORM (feature cards) ============ */
.lin-platform-overview { background: var(--paper); }
.lin-plat-inner { max-width: 1640px; margin: 0 auto; padding: 56px 56px 112px; }
.lin-plat-head { text-align: center; max-width: 760px; margin: 0 auto 44px; }
.lin-plat-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 13px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; color: var(--moss);
}
.lin-plat-eyebrow .lin-e-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); }
.lin-plat-head h2 { font-weight: 400; font-size: 48px; line-height: 1.05; letter-spacing: -.024em; margin-top: 16px; color: var(--ink); text-wrap: balance; }
.lin-plat-head h2 .lin-dot { color: var(--moss); }
.lin-plat-head p { margin-top: 18px; font-size: 18px; line-height: 1.5; color: var(--muted); max-width: 600px; margin-left: auto; margin-right: auto; }

.lin-plat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lin-plat-card {
  position: relative; height: 540px; border-radius: var(--r-lg); overflow: hidden; display: block;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.lin-plat-card:hover { transform: translateY(-6px); box-shadow: var(--sh-lg); }
.lin-plat-card.lin-plat-card--grad-moss { background: linear-gradient(165deg, #44601f 0%, #5F7D33 58%, #719240 100%); }
.lin-plat-card.lin-plat-card--grad-indigo { background: linear-gradient(165deg, #182C5E 0%, #27407a 60%, #33508f 100%); }
.lin-plat-card.lin-plat-card--grad-warm { background: linear-gradient(168deg, #dcdbd5 0%, #e8e7e1 58%, #f3f2ee 100%); }
.lin-plat-content { position: absolute; inset: 0; z-index: 2; padding: 34px; display: flex; flex-direction: column; }
.lin-plat-content h3 { font-size: 30px; font-weight: 600; letter-spacing: -.015em; color: var(--ink); }
.lin-plat-content h3.lin-light { color: #fff; }
.lin-plat-pby { margin-top: 8px; font-size: 13px; letter-spacing: .05em; text-transform: uppercase; font-weight: 700; color: var(--lime); }
.lin-plat-pby.lin-moss { color: var(--moss); }
.lin-plat-mid { margin: auto 0; display: flex; flex-direction: column; justify-content: center; }
.lin-plat-line { margin-top: auto; font-size: 16px; line-height: 1.5; color: var(--muted); max-width: 320px; }
.lin-plat-card.lin-plat-card--grad-moss .lin-plat-line, .lin-plat-card.lin-plat-card--grad-indigo .lin-plat-line { color: rgba(255,255,255,.88); }
.lin-plat-metric { display: flex; align-items: baseline; gap: 10px; }
.lin-pm-v { font-size: 46px; font-weight: 400; letter-spacing: -.03em; line-height: 1; }
.lin-plat-card.lin-plat-card--grad-warm .lin-pm-v { color: var(--ink); }
.lin-pm-l { font-size: 13px; color: rgba(255,255,255,.8); font-weight: 500; }
.lin-plat-card.lin-plat-card--grad-warm .lin-pm-l { color: var(--muted); }
.lin-plat-tiles {
  display: grid; grid-template-columns: repeat(3, 72px); gap: 12px; justify-content: center;
}
.lin-pt-tile {
  width: 72px; height: 72px; border-radius: 16px;
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.24);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
}
.lin-pt-tile .lin-lic svg { color: #fff; }
.lin-plat-glass {
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid rgba(255,255,255,.26); border-radius: 14px; padding: 16px;
  display: flex; flex-direction: column; gap: 12px;
}
.lin-pg-row { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: rgba(255,255,255,.92); }
.lin-pg-row .lin-lic svg { color: var(--lime); flex-shrink: 0; }
.lin-pg-row.lin-ans { padding-top: 11px; border-top: 1px solid rgba(255,255,255,.18); }
.lin-pg-ck { width: 18px; height: 18px; border-radius: 50%; background: var(--lime); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-pg-ck .lin-lic svg { color: #1c2a06; }
.lin-nav-cta { white-space: nowrap; }

/* ============ ENTERPRISE DELIVERY CAPABILITIES ============ */
.lin-capabilities { background: var(--paper); }
.lin-delivery-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--line-2); }
.lin-cap { position: relative; display: flex; flex-direction: column; padding: 40px 28px 44px 28px; border-right: 1px solid var(--line); }
.lin-cap:first-child { padding-left: 0; }
.lin-cap:last-child { border-right: none; padding-right: 0; }
.lin-cap-bar { position: absolute; top: -1px; left: 0; width: 48px; height: 3px; background: var(--lime); }
.lin-cap:not(:first-child) .lin-cap-bar { left: 28px; }
.lin-cap-ic {
  width: 46px; height: 46px; border-radius: 12px;
  background: var(--surface-2); border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center; color: var(--moss);
  margin-bottom: 24px;
}
.lin-cap h3 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); line-height: 1.2; }
.lin-cap p { margin-top: 12px; font-size: 14.5px; line-height: 1.55; color: var(--muted); max-width: 240px; }
.lin-cap-link {
  margin-top: auto; padding-top: 26px; align-self: flex-start;
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 14px; font-weight: 600; color: var(--moss);
  transition: gap var(--dur) var(--ease), color var(--dur) var(--ease);
}
.lin-cap-link:hover { gap: 11px; color: var(--ink); }
.lin-delivery-close {
  margin-top: 56px; display: flex; align-items: center; gap: 20px;
  padding: 34px 40px; border-radius: var(--r-lg);
  background: var(--indigo); color: #fff; flex-wrap: wrap;
}
.lin-delivery-close .lin-ic { width: 52px; height: 52px; border-radius: 13px; background: var(--lime); color: #1c2a06; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-delivery-close .lin-txt { font-size: 24px; font-weight: 400; letter-spacing: -.015em; line-height: 1.3; flex: 1; min-width: 280px; text-wrap: balance; }
.lin-delivery-close .lin-txt strong { font-weight: 700; }
.lin-delivery-cta { margin-top: 48px; display: flex; justify-content: center; }

/* ---- Dark grey (charcoal) variant ---- */
.lin-delivery--dark { background: #23272E; color: var(--on-dark-soft); }
.lin-delivery--dark .lin-head h2 { color: #fff; }
.lin-delivery--dark .lin-head p { color: rgba(255,255,255,.62); }
.lin-delivery--dark .lin-delivery-grid { border-top-color: rgba(255,255,255,.16); }
.lin-delivery--dark .lin-cap { border-right-color: rgba(255,255,255,.10); }
.lin-delivery--dark .lin-cap-ic {
  background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); color: var(--lime);
}
.lin-delivery--dark .lin-cap h3 { color: #fff; }
.lin-delivery--dark .lin-cap p { color: rgba(255,255,255,.60); }
.lin-delivery--dark .lin-cap-link { color: var(--lime); }
.lin-delivery--dark .lin-cap-link:hover { color: #fff; }
.lin-delivery--dark .lin-cap-bar { background: var(--lime); }
@media (max-width: 1180px) {
  .lin-delivery--dark .lin-cap { border-bottom: 1px solid rgba(255,255,255,.10); }
}

/* ============ WHY LINNOVATE (proof / trust) ============ */
.lin-why-linnovate { background: var(--oatmeal); }
.lin-why-inner { max-width: 1640px; margin: 0 auto; padding: 120px 56px; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 72px; align-items: start; }
.lin-why-head h2 { font-weight: 400; font-size: 46px; letter-spacing: -.024em; line-height: 1.06; margin-top: 16px; color: var(--ink); text-wrap: balance; }
.lin-why-head p { margin-top: 20px; font-size: 18px; color: var(--muted); line-height: 1.55; max-width: 380px; }
.lin-why-list { display: flex; flex-direction: column; }
.lin-why-item { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: start; padding: 26px 0; border-top: 1px solid var(--line-2); }
.lin-why-item:last-child { border-bottom: 1px solid var(--line-2); }
.lin-why-ck {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0; margin-top: 2px;
  background: var(--lime); color: #1c2a06; display: flex; align-items: center; justify-content: center;
}
.lin-why-item h4 { font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.lin-why-item p { margin-top: 7px; font-size: 15.5px; line-height: 1.55; color: var(--muted); max-width: 520px; }
.lin-why-item .lin-lead-num { font-weight: 700; color: var(--moss); }

/* ============ FINAL CTA — V4 flow lines ============ */
.lin-cta-band { position: relative; background: var(--surface); color: var(--ink); padding: 172px 0; overflow: hidden; }
.lin-cta-band::before {
  content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: min(880px,90vw); height: 480px; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse at center, var(--surface) 26%, rgba(250,248,246,.72) 52%, rgba(250,248,246,0) 74%);
}
.lin-final-bg, .lk-final-bg { position: absolute; inset: 0; z-index: 0; }
.lin-final-flow, .lk-final-flow { width: 100%; height: 100%; }
.lin-ff-path, .ff-path, .lk-ff-path { fill: none; stroke: rgba(165,205,57,.62); stroke-width: 1.7; stroke-dasharray: 4 9; stroke-linecap: round; animation: ffFlow 7s linear infinite; }
@keyframes ffFlow { to { stroke-dashoffset: -300; } }
@media (prefers-reduced-motion: reduce) { .lin-ff-path, .ff-path, .lk-ff-path { animation: none; } }
.lin-final-inner { position: relative; z-index: 2; max-width: 1640px; margin: 0 auto; padding: 0 56px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.lin-cta-band .lin-eyebrow-accent { font-size: 14px; letter-spacing: .04em; text-transform: uppercase; }
.lin-cta-band h2 { font-weight: 400; font-size: 68px; line-height: 1.04; letter-spacing: -.03em; color: var(--ink); text-wrap: balance; margin-top: 18px; max-width: 900px; }
.lin-cta-band p { margin-top: 22px; font-size: 21px; color: var(--muted); max-width: 540px; line-height: 1.5; }
.lin-cta-band .lin-cta-row { margin-top: 42px; justify-content: center; }

/* ============ INDUSTRIES (vertical showcase carousel) ============ */
.lin-ind { background: var(--paper); padding: 120px 0 128px; overflow: hidden; }
.lin-ind-head { max-width: 1640px; }
.lin-ind-head h2 { font-weight: 400; font-size: 50px; letter-spacing: -.025em; line-height: 1.04; margin-top: 16px; color: var(--ink); text-wrap: balance; max-width: 780px; }
.lin-ind-head p { margin-top: 18px; font-size: 19px; color: var(--muted); line-height: 1.5; max-width: 560px; }

/* tabs */
.lin-ind-tabs { max-width: 1640px; display: flex; gap: 14px; margin-top: 52px; margin-bottom: 30px; }
.lin-tab { flex: 1 1 0; min-width: 0; border: 0; background: transparent; padding: 0 0 0; cursor: pointer; text-align: left; font-family: var(--sans); transition: opacity var(--dur) var(--ease); }
.lin-tab-label { display: block; font-size: 17px; font-weight: 600; letter-spacing: -.01em; color: var(--muted-2); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color var(--dur) var(--ease); }
.lin-tab.lin-tab--on .lin-tab-label { color: var(--ink); }
.lin-tab:hover .lin-tab-label { color: var(--ink-2); }
.lin-tab-track { display: block; margin-top: 12px; height: 3px; width: 100%; background: var(--line-2); border-radius: 999px; overflow: hidden; }
.lin-tab-fill { display: block; height: 100%; width: 0; background: var(--lime); border-radius: 999px; will-change: width; }

/* carousel */
.lin-ind-rail { width: 100%; }
.lin-ind-rail-inner { max-width: 1640px; margin: 0 auto; padding: 0 56px; }
.lin-ind-track { display: flex; gap: 22px; transition: transform .72s var(--ease); will-change: transform; }

.lin-card {
  position: relative; flex: 0 0 auto;
  width: clamp(340px, 62vw, 880px);
  height: clamp(440px, 52vw, 600px);
  border-radius: var(--r-lg); overflow: hidden; display: block;
  background: var(--indigo); box-shadow: var(--sh-lg);
  text-decoration: none; transition: box-shadow .4s var(--ease);
}
.lin-card:hover { box-shadow: var(--sh-xl); }
.lin-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lin-card-tint {
  position: absolute; inset: 0;
  background:
    linear-gradient(to top right, rgba(13,15,22,.94) 0%, rgba(13,15,22,.66) 28%, rgba(13,15,22,.20) 56%, rgba(13,15,22,0) 80%),
    linear-gradient(to top, rgba(13,15,22,.55) 0%, rgba(13,15,22,0) 38%);
}
.lin-card-chip {
  position: absolute; top: 22px; left: 22px; z-index: 3;
  font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  color: rgba(255,255,255,.92); background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.24); border-radius: 999px; padding: 5px 13px;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.lin-card-copy { position: absolute; left: 0; bottom: 0; z-index: 3; padding: 44px; max-width: 56%; }
.lin-card-copy h3 { font-size: clamp(22px, 2.1vw, 30px); font-weight: 600; letter-spacing: -.02em; line-height: 1.1; color: #fff; text-wrap: balance; }
.lin-card-copy p { margin-top: 14px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.74); max-width: 440px; }
.lin-card-link { margin-top: 20px; display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; color: #fff; transition: gap var(--dur) var(--ease); }
.lin-card-link .lin-lic svg { color: var(--lime); }
.lin-card:hover .lin-card-link { gap: 12px; }

/* floating live dashboard */
.lin-dash {
  position: absolute; top: 50%; right: 30px; transform: translateY(-50%) translateY(22px) scale(.98);
  z-index: 4; width: 296px; opacity: 0; pointer-events: none;
  background: #fff; border-radius: 16px; padding: 18px 18px 14px;
  box-shadow: 0 28px 64px -20px rgba(0,0,0,.5), 0 6px 18px rgba(0,0,0,.12);
  font-family: var(--sans); color: var(--ink);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
}
.lin-card.lin-card--active .lin-dash { opacity: 1; transform: translateY(-50%); transition-delay: .12s; }
.lin-dash-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.lin-dash-tag { font-size: 10.5px; color: var(--muted-2); font-weight: 500; }
.lin-dash-title { font-size: 15px; font-weight: 700; letter-spacing: -.01em; margin-top: 2px; }
.lin-dash-live { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; font-size: 10.5px; font-weight: 700; color: var(--moss); background: var(--surface-2); border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; }
.lin-live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 0 rgba(165,205,57,.6); animation: inPulse 2s var(--ease) infinite; }
.lin-dash-metric { display: flex; align-items: baseline; gap: 9px; }
.lin-dash-big { font-size: 34px; font-weight: 700; letter-spacing: -.03em; line-height: 1; color: var(--ink); }
.lin-dash-unit { font-size: 12px; color: var(--muted); }
.lin-dash-bar { margin-top: 11px; height: 5px; border-radius: 999px; background: var(--line); overflow: hidden; }
.lin-dash-fill { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, var(--moss), var(--lime)); transition: width 5.2s var(--ease); }
.lin-card.lin-card--active .lin-dash-fill { width: var(--w); transition-delay: .35s; }
.lin-dash-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lin-stat { display: flex; flex-direction: column; gap: 2px; }
.lin-stat-v { font-size: 16px; font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.lin-stat-v.lin-moss { color: var(--moss); }
.lin-stat-k { font-size: 10.5px; color: var(--muted-2); }
.lin-dash-rows { display: flex; flex-direction: column; }
.lin-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 6px 0; font-size: 11.5px; opacity: 0; transform: translateX(7px); }
.lin-card.lin-card--active .lin-row { opacity: 1; transform: none; transition: opacity .5s var(--ease), transform .5s var(--ease); transition-delay: calc(.45s + var(--i) * .12s); }
.lin-row-id { color: var(--muted-2); font-variant-numeric: tabular-nums; }
.lin-row-t { color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lin-row-s { font-weight: 700; justify-self: end; }
.lin-row-s.lin-ok { color: var(--moss); }
.lin-row-s.lin-warn { color: #b4811f; }
.lin-dash-agent { display: flex; align-items: center; gap: 9px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); }
.lin-agent-av { position: relative; width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0; background: var(--indigo); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.lin-agent-pulse { position: absolute; inset: -3px; border-radius: 50%; border: 2px solid color-mix(in oklab, var(--lime) 60%, transparent); animation: inPulse 2s var(--ease) infinite; }
.lin-agent-txt { font-size: 11px; color: var(--muted); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lin-agent-txt b { color: var(--ink); font-weight: 700; }
.lin-agent-live { font-size: 10px; font-weight: 700; color: var(--moss); flex-shrink: 0; }

@keyframes inPulse { 0% { box-shadow: 0 0 0 0 rgba(165,205,57,.5); } 70% { box-shadow: 0 0 0 7px rgba(165,205,57,0); } 100% { box-shadow: 0 0 0 0 rgba(165,205,57,0); } }

@media (prefers-reduced-motion: reduce) {
  .lin-ind-track { transition: none; }
  .lin-dash, .lin-card.lin-card--active .lin-dash { transition: none; }
  .lin-card .lin-dash { opacity: 1; transform: translateY(-50%); }
  .lin-card .lin-dash-fill { transition: none; width: var(--w); }
  .lin-card .lin-row { opacity: 1; transform: none; transition: none; }
  .lin-live-dot, .lin-agent-pulse { animation: none; }
}

@media (max-width: 980px) {
  .lin-dash { display: none; }
  .lin-card-copy { max-width: 78%; }
}
@media (max-width: 760px) {
  .lin-ind { padding: 80px 0 88px; }
  .lin-ind-head h2 { font-size: 34px; }
  .lin-ind-tabs { gap: 10px; overflow-x: auto; scrollbar-width: none; margin-top: 36px; }
  .lin-ind-tabs::-webkit-scrollbar { display: none; }
  .lin-tab { flex: 0 0 auto; min-width: 140px; }
  .lin-card { width: 84vw; }
  .lin-card-copy { padding: 28px; max-width: 92%; }
}

/* ============ DELIVER SECTION (content cards) ============ */
#deliver.lin-sec .lin-cards { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; margin-top: 60px; }
#deliver.lin-sec .lin-card {
  grid-column: span 2;
  width: auto;
  height: auto;
  flex: initial;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 36px 34px;
  box-shadow: var(--sh-sm);
  overflow: visible;
  text-decoration: none;
  transition: box-shadow .28s var(--ease), transform .28s var(--ease);
}
#deliver.lin-sec .lin-card:nth-child(4),
#deliver.lin-sec .lin-card:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
#deliver.lin-sec .lin-card-ic {
  width: 54px;
  height: 54px;
  border-radius: 13px;
  background: var(--surface-2);
  color: var(--moss);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 26px;
}
#deliver.lin-sec .lin-card h4 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 11px; }
#deliver.lin-sec .lin-card p { font-size: 16px; line-height: 1.5; color: var(--muted); max-width: 30ch; }

/* ============ RESPONSIVE ============ */
@media (max-width: 1180px) {
  .lin-outcomes-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .lin-plat-grid { grid-template-columns: 1fr; }
  .lin-delivery-grid { grid-template-columns: 1fr 1fr; }
  .lin-cap:nth-child(2n) { border-right: none; }
  .lin-cap:not(:first-child) .lin-cap-bar { left: 28px; }
  .lin-cap { border-bottom: 1px solid var(--line); padding-right: 28px; padding-bottom: 36px; }
}
@media (max-width: 1080px) {
  .lin-section, .lin-trusted-inner, .lin-plat-inner, .lin-story-inner, .lin-why-inner, .lin-final-inner, .lin-ind-rail-inner { padding-left: 32px; padding-right: 32px; }
  .lin-story-inner { grid-template-columns: 1fr; gap: 44px; }
  .lin-story-q { font-size: 30px; }
  .lin-why-inner { grid-template-columns: 1fr; gap: 40px; }
  .lin-head h2, .lin-plat-head h2, .lin-why-head h2 { font-size: 40px; }
  .lin-cta-band h2 { font-size: 48px; }
  .lin-section-pad { padding-top: 88px; padding-bottom: 88px; }
  .lin-plat-inner, .lin-story-inner, .lin-why-inner { padding-top: 88px; padding-bottom: 88px; }
  #deliver.lin-sec .lin-wrap { padding-left: 24px; padding-right: 24px; }
  #deliver.lin-sec .lin-cards { grid-template-columns: repeat(2, 1fr); }
  #deliver.lin-sec .lin-card,
  #deliver.lin-sec .lin-card:nth-child(4),
  #deliver.lin-sec .lin-card:nth-child(5) { grid-column: span 1; }
}
@media (max-width: 620px) {
  .lin-outcomes-grid { grid-template-columns: 1fr; }
  .lin-delivery-grid { grid-template-columns: 1fr; }
  .lin-cap { border-right: none; }
  .lin-head h2, .lin-plat-head h2, .lin-why-head h2 { font-size: 32px; }
  .lin-story-q { font-size: 25px; }
  .lin-cta-band h2 { font-size: 36px; }
  .lin-cta-band p { font-size: 18px; }
  .lin-story-stats { gap: 32px; }
  .lin-delivery-close .lin-txt { font-size: 20px; }
  #deliver.lin-sec .lin-cards { grid-template-columns: 1fr; }
}

/* ===== Migrated from home.css ===== */
/* ============================================================
   Linnovate Homepage V4 — light editorial, motion-forward
   Built on colors_and_type.lin-css tokens.
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
.lin-page{max-width:1640px;margin:0 auto;padding:0 56px;}
.lin-dot{color:var(--lime);}

/* ---- reveal initial states (only when JS motion is on) ---- */
.lin-motion .lin-reveal-up{opacity:0;transform:translateY(34px);}
.lin-motion .lin-reveal-fade{opacity:0;}
.lin-motion [data-reveal-lines] .lin-rl-line{opacity:0;transform:translateY(40px);}
.lin-motion .lin-hero__headline .lin-line-i{opacity:0;}
.lin-motion .lin-hero-sub2{opacity:0;}
@media (prefers-reduced-motion:reduce){
  .lin-motion .lin-reveal-up,.lin-motion .lin-reveal-fade,.lin-motion [data-reveal-lines] .lin-rl-line{opacity:1!important;transform:none!important;}
  .lin-motion .lin-hero__headline .lin-line-i{opacity:1!important;transform:none!important;}
  .lin-motion .lin-hero-sub2{opacity:1!important;}
}

/* ---- eyebrow ---- */
.lin-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:14px;letter-spacing:.04em;color:var(--muted);font-weight:600;white-space:nowrap;}
.lin-eyebrow .lin-e-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);flex-shrink:0;}
.lin-eyebrow.lin-eyebrow--on-dark{color:rgba(255,255,255,.72);}

/* ---- buttons ---- */
.lin-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:16px;font-weight:400;cursor:pointer;border-radius:999px;padding:15px 26px;border:1px solid transparent;transition:all .22s var(--ease);white-space:nowrap;line-height:1;}
.lin-btn i{width:18px;height:18px;stroke-width:2;}
.lin-btn--lime{background:#b6d855;color:#1c2a06;border-color:#b6d855;font-weight: 600;}
.lin-btn--lime:hover{background:var(--lime);border-color:var(--lime);transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(132,180,65,.7);}
.lin-btn--ghost{background:transparent;color:var(--moss);border:none;font-weight:600;padding-left:8px;padding-right:8px;}
.lin-btn--ghost:hover{gap:14px;}
.lin-btn--clear{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.lin-btn--clear:hover{background:#fff;color:var(--ink);}
.lin-btn--block{width:100%;justify-content:center;}

/* ============ NAV ============ */
.lin-nav-link i{width:14px;height:14px;stroke-width:2;}
.lin-nav-item:hover .lin-nav-link i{transform:rotate(180deg);transition:transform .22s var(--ease);}
.lin-nav-menu{position:absolute;top:calc(100% + 10px);left:50%;min-width:248px;background:rgba(255,255,255,.97);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid rgba(11,13,16,.07);border-radius:16px;box-shadow:var(--sh-xl);padding:10px;display:flex;flex-direction:column;gap:1px;opacity:0;transform:translateX(-50%) translateY(8px);pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease);}
.lin-nav-item:hover .lin-nav-menu{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.lin-nav-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.lin-nav-menu a{padding:11px 15px;border-radius:10px;font-size:15px;color:var(--ink-2);white-space:nowrap;transition:background .15s,color .15s;}
.lin-nav-menu a:hover{background:var(--surface-2);color:var(--moss);}
/* nested submenu (Enterprise Apps) */
.lin-nav-sub{position:relative;}
.lin-nav-suba{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;border-radius:10px;font-size:15px;color:var(--ink-2);white-space:nowrap;cursor:pointer;transition:background .15s,color .15s;}
.lin-nav-suba i{width:14px;height:14px;color:var(--muted-2);}
.lin-nav-sub:hover .lin-nav-suba{background:var(--surface-2);color:var(--moss);}
.lin-nav-sub:hover .lin-nav-suba i{color:var(--moss);}
.lin-nav-submenu{position:absolute;top:-10px;left:calc(100% + 8px);min-width:240px;background:rgba(255,255,255,.97);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid rgba(11,13,16,.07);border-radius:16px;box-shadow:var(--sh-xl);padding:10px;display:flex;flex-direction:column;gap:1px;opacity:0;transform:translateX(8px);pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease);}
.lin-nav-sub:hover .lin-nav-submenu{opacity:1;transform:translateX(0);pointer-events:auto;}
.lin-nav-submenu::before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:10px;}
.lin-nav-submenu a{padding:11px 15px;border-radius:10px;font-size:15px;color:var(--ink-2);white-space:nowrap;transition:background .15s,color .15s;}
.lin-nav-submenu a:hover{background:var(--surface-2);color:var(--moss);}
.lin-nav-cta{flex-shrink:0;display:inline-flex;align-items:center;font-family:var(--sans);font-size:15px;cursor:pointer;border-radius:999px;padding:11px 22px;background:var(--ink);color:#fff;border:1px solid var(--ink);transition:all .2s var(--ease);white-space:nowrap;letter-spacing: normal;}
.lin-nav-cta:hover{background:#2a2a2c;transform:translateY(-1px);}

/* ============ HERO ============ */
/* page-local: account for the shared nav (88px) over the light hero */
.lin-hero{position:relative;min-height:72vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:132px 56px 104px;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line);}
.lin-hero-field{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.lin-hero-veil{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(58% 52% at 50% 46%,rgba(255,255,255,.92) 0%,rgba(255,255,255,.55) 55%,rgba(255,255,255,0) 100%),linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 24%,rgba(255,255,255,0) 70%,rgba(255,255,255,.95) 100%);}
.lin-hero-stage{position:relative;z-index:1;width:100%;max-width:1240px;max-height:52vh;aspect-ratio:1240/680;margin:0 auto;}

/* radiating flow lines — hub style: thin dashed moss connectors */
.lin-hero-flow{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;}
.lin-hf-path{fill:none;stroke:rgba(95,125,51,.45);stroke-width:1.5;stroke-dasharray:3 5;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.lin-hf-pulse{fill:#A5CD39;filter:drop-shadow(0 0 4px rgba(165,205,57,.8));}

/* depth: soft center lift */
.lin-hero-texture{display:none;}
.lin-hero-ghosts{display:none;}
.lin-hero-glow{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;width:880px;height:640px;background:radial-gradient(ellipse at center,rgba(255,255,255,.92),rgba(255,255,255,0) 66%);}

/* radial mask — fades lines right at the headline so they appear to flow OUT of it */
.lin-hero-mask{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(500px,42%);height:40%;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,#F7F8F9 26%,rgba(247,248,249,.6) 52%,rgba(247,248,249,0) 80%);}

/* centered headline + eyebrow + subtitle */
.lin-hero-center{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.lin-hero-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--moss);font-weight:700;}
.lin-hero-eyebrow .lin-e-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);}
.lin-hero-sub2{margin-top:18px;font-size:18px;color:var(--muted);font-weight:500;}
.lin-hero__headline{font-weight:400;font-size:72px;line-height:1.08;letter-spacing:-.03em;color:var(--ink);margin-top:20px;text-wrap:balance;}
.lin-hero__headline .lin-line{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.12em;}
.lin-hero__headline .lin-line-i{display:block;}
.lin-hero-cta{display:flex;gap:14px;margin-top:34px;align-items:center;justify-content:center;flex-wrap:wrap;}
.lin-hero-scrollcue{position:absolute;left:50%;transform:translateX(-50%);bottom:30px;z-index:4;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);font-weight:600;}
.lin-hero-scrollcue span{width:26px;height:1px;background:var(--muted-2);position:relative;overflow:hidden;}
.lin-hero-scrollcue span::after{content:"";position:absolute;inset:0;background:var(--lime);transform:translateX(-100%);animation:cue 2.2s var(--ease) infinite;}
@keyframes cue{0%{transform:translateX(-100%);}60%,100%{transform:translateX(100%);}}

/* ---- hero nodes — hub-style pill chips (like the "Unify your systems" graphic) ---- */
.lin-hnode{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 20px;box-shadow:var(--sh-md);white-space:nowrap;will-change:transform,opacity;}
.lin-hnode > i{width:16px;height:16px;color:var(--moss);stroke-width:1.9;flex-shrink:0;}
.lin-hnode.lin-lit{box-shadow:0 14px 30px -14px rgba(132,180,65,.5);}

/* tinted icon chips */
.lin-hn-chip{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-hn-chip i{width:19px;height:19px;}
.lin-c-lime{background:#EAF6CC;}.lin-c-lime i{color:var(--lime-deep);}
.lin-c-moss{background:#E4F0CE;}.lin-c-moss i{color:var(--moss);}
.lin-c-indigo{background:#E4E9F5;}.lin-c-indigo i{color:#3A4F86;}
.lin-c-sky{background:#E2EDF4;}.lin-c-sky i{color:#3F6F93;}
.lin-c-amber{background:#F6ECD9;}.lin-c-amber i{color:#A9772E;}
.lin-c-check{background:var(--lime);}.lin-c-check i{color:#1c2a06;stroke-width:2.8;}
.lin-hn-task{--accent:var(--lime-deep);}
.lin-hn-erp{--accent:#3A4F86;}
.lin-hn-docs{--accent:var(--moss);}
.lin-hn-policy{--accent:#A9772E;}
.lin-hn-ledger{--accent:#3F6F93;}
.lin-hn-result{--accent:var(--lime);}

.lin-hero-light .lin-hn-sys .lin-hlabel{font-size:14.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;}

.lin-hn-task{left:1.5%;top:5%;}
.lin-hn-erp{right:6%;top:8%;}
.lin-hn-docs{right:1.5%;top:43%;}
.lin-hn-policy{right:5.5%;bottom:7%;}
.lin-hn-ledger{left:1.5%;top:43%;}
.lin-hn-result{left:1.5%;bottom:5%;}

/* ---- hero diagram ---- */
/* ---- hero diagram (legacy classes removed; pulse kept for platform mock) ---- */
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(165,205,57,.55);}70%{box-shadow:0 0 0 8px rgba(165,205,57,0);}100%{box-shadow:0 0 0 0 rgba(165,205,57,0);}}

/* ============ TRUST MARQUEE ============ */
.lin-trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;overflow:hidden;background:var(--surface);}
.lin-trust-track{display:flex;width:max-content;animation:marquee 38s linear infinite;}
.lin-trust:hover .lin-trust-track{animation-play-state:paused;}
.lin-trust-set{display:flex;align-items:center;gap:36px;padding-right:36px;}
.lin-trust-set span{font-size:15px;color:var(--muted);font-weight:500;white-space:nowrap;}
.lin-trust-set .lin-t-strong{color:var(--ink);font-weight:700;}
.lin-trust-set .lin-t-dot{width:5px;height:5px;border-radius:50%;background:var(--lime);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.lin-trust-track{animation:none;}}

/* ============ PILLARS ============ */
.lin-pillars{padding:112px 0;}
.lin-pillars-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:start;}
.lin-pillars-head{position:sticky;top:120px;}
.lin-pillars-head h2{font-weight:400;font-size:44px;line-height:1.08;letter-spacing:-.022em;margin-top:20px;}
.lin-pillars-head h2 .lin-soft{color:var(--muted);}
.lin-pillars-head p{margin-top:20px;font-size:17px;line-height:1.55;color:var(--muted);max-width:380px;}
.lin-pillars-list{display:flex;flex-direction:column;}
.lin-pillar{display:grid;grid-template-columns:auto auto 1fr;gap:22px;align-items:start;padding:30px 0;border-top:1px solid var(--line);}
.lin-pillar:last-child{border-bottom:1px solid var(--line);}
.lin-pl-num{font-size:14px;font-weight:700;color:var(--lime-deep);letter-spacing:.02em;padding-top:6px;}
.lin-pl-ic{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .25s var(--ease);}
.lin-pl-ic i{width:22px;height:22px;stroke-width:1.7;}
.lin-pillar:hover .lin-pl-ic{background:var(--lime);border-color:var(--lime);color:#1c2a06;}
.lin-pl-body h4{font-size:21px;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em;}
.lin-pl-body p{font-size:16px;line-height:1.55;color:var(--muted);max-width:480px;}

/* ============ SPLIT SECTIONS — image + animated live card beside white cards ============ */
.lin-problem.lin-split .lin-page{text-align:left;}
.lin-problem.lin-split .lin-problem-stmt{margin-left:0;margin-right:0;max-width:760px;font-size:40px;line-height:1.12;}
.lin-pillars.lin-split .lin-pillars-grid{display:block;}
.lin-sp-head{max-width:760px;}
.lin-sp-head h2{font-weight:400;font-size:40px;line-height:1.1;letter-spacing:-.022em;margin-top:18px;color:var(--ink);text-wrap:balance;}
.lin-sp-head h2 .lin-soft{color:var(--muted);}
.lin-sp-head p{margin-top:18px;font-size:17px;line-height:1.55;color:var(--muted);max-width:520px;}
.lin-sp-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch;margin-top:52px;}
.lin-sp-cards{display:flex;flex-direction:column;gap:20px;justify-content:center;}
.lin-sp-cards--grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:center;}
.lin-sp-media{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#23272e;box-shadow:var(--sh-lg);min-height:560px;}
.lin-sp-media image-slot{position:absolute;inset:0;display:block;width:100%;height:100%;}
.lin-sp-tint{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top right,rgba(13,15,22,.72) 0%,rgba(13,15,22,.30) 42%,rgba(13,15,22,.06) 72%,transparent 100%);}
.lin-sp-dash-wrap{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding:26px;pointer-events:none;}
.lin-problem.lin-split .lin-sp-dash-wrap{justify-content:flex-end;}
.lin-pillars.lin-split .lin-sp-dash-wrap{justify-content:flex-start;}
.lin-sp-dash{width:300px;background:#fff;border-radius:16px;padding:18px 18px 14px;box-shadow:0 28px 64px -20px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.12);font-family:var(--sans);color:var(--ink);opacity:0;transform:translateY(22px) scale(.98);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.lin-sp-media.lin-is-active .lin-sp-dash{opacity:1;transform:none;transition-delay:.1s;}
.lin-sp-dash-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;}
.lin-sp-dash-tag{font-size:10.5px;color:var(--muted-2);font-weight:500;}
.lin-sp-dash-title{font-size:15px;font-weight:700;letter-spacing:-.01em;margin-top:2px;color:var(--ink);}
.lin-sp-live{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:10.5px;font-weight:700;color:var(--moss);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 9px;}
.lin-sp-live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);animation:linSpPulse 2s var(--ease) infinite;}
.lin-sp-badge{width:28px;height:28px;border-radius:9px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--moss);}
.lin-sp-badge svg{width:16px;height:16px;}

/* step rail (reality) */
.lin-sp-steps{display:flex;align-items:flex-start;margin:4px 0 16px;}
.lin-sp-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;}
.lin-sp-step+.lin-sp-step::before{content:"";position:absolute;top:11px;right:calc(50% + 12px);width:calc(100% - 24px);height:2px;background:var(--line);}
.lin-sp-step.lin-done+.lin-sp-step::before,.lin-sp-step.lin-now+.lin-sp-step::before{background:var(--line);}
.lin-sp-step.lin-done::before,.lin-sp-step.lin-now::before{background:var(--lime)!important;}
.lin-sp-node{width:24px;height:24px;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;position:relative;z-index:1;}
.lin-sp-step.lin-done .lin-sp-node{background:var(--lime);color:#1c2a06;}
.lin-sp-step.lin-now .lin-sp-node{background:var(--moss);}
.lin-sp-step span:last-child{font-size:9.5px;color:var(--muted-2);white-space:nowrap;}
.lin-sp-step.lin-done span:last-child,.lin-sp-step.lin-now span:last-child{color:var(--moss);}

/* log rows (reality) */
.lin-sp-log{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:12px;}
.lin-sp-log-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:5px 0;font-size:11.5px;color:var(--ink-2);opacity:0;transform:translateX(7px);}
.lin-sp-media.lin-is-active .lin-sp-log-row{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(.4s + var(--i,0)*.12s);}
.lin-sp-log-row time{color:var(--muted-2);font-variant-numeric:tabular-nums;}
.lin-sp-log-row svg{width:14px;height:14px;color:var(--moss);justify-self:end;}

/* metric + bar (why linno) */
.lin-sp-metric{display:flex;align-items:baseline;gap:8px;}
.lin-sp-metric-v{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink);}
.lin-sp-metric-u{font-size:11.5px;color:var(--muted);}
.lin-sp-bar{margin-top:11px;height:5px;border-radius:999px;background:var(--line);overflow:hidden;}
.lin-sp-fill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--moss),var(--lime));transition:width 5s var(--ease);}
.lin-sp-media.lin-is-active .lin-sp-fill{width:var(--w);transition-delay:.35s;}
.lin-sp-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.lin-sp-stats>div{display:flex;flex-direction:column;gap:2px;}
.lin-sp-stat-v{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink);}
.lin-sp-stat-v.lin-moss{color:var(--moss);}
.lin-sp-stat-k{font-size:10.5px;color:var(--muted-2);}
.lin-sp-rows{display:flex;flex-direction:column;}
.lin-sp-row-li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:5px 0;font-size:11.5px;color:var(--ink-2);opacity:0;transform:translateX(7px);}
.lin-sp-media.lin-is-active .lin-sp-row-li{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(.45s + var(--i,0)*.12s);}
.lin-sp-row-li>svg{width:15px;height:15px;color:var(--moss);}
.lin-sp-tag{font-size:10px;font-weight:700;justify-self:end;}
.lin-sp-tag.lin-ok{color:var(--moss);}

/* footer (reality) */
.lin-sp-foot{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);}
.lin-sp-foot-av{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:var(--indigo);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.lin-sp-foot-txt{font-size:11px;color:var(--muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lin-sp-foot-txt b{color:var(--ink);}
.lin-sp-foot-live{font-size:10px;font-weight:700;color:var(--moss);flex-shrink:0;}

@keyframes linSpPulse{0%{box-shadow:0 0 0 0 rgba(165,205,57,.5);}70%{box-shadow:0 0 0 7px rgba(165,205,57,0);}100%{box-shadow:0 0 0 0 rgba(165,205,57,0);}}

/* split: left-align the white cards that were globally centered */
.lin-problem.lin-split .lin-friction{text-align:left;}
.lin-problem.lin-split .lin-friction .lin-fr-ic{margin-left:0;margin-right:0;}
.lin-pillars.lin-split .lin-pillar{align-items:flex-start;text-align:left;}
.lin-pillars.lin-split .lin-pl-body,.lin-pillars.lin-split .lin-pl-body p{text-align:left;margin-left:0;margin-right:0;}
.lin-pillars.lin-split .lin-pillar:last-child{border:1px solid var(--line);}

@media (prefers-reduced-motion:reduce){
  .lin-sp-dash,.lin-sp-media.lin-is-active .lin-sp-dash{opacity:1;transform:none;transition:none;}
  .lin-sp-log-row,.lin-sp-row-li{opacity:1;transform:none;transition:none;}
  .lin-sp-fill{transition:none;width:var(--w);}
  .lin-sp-live-dot{animation:none;}
}
@media (max-width:1080px){
  .lin-sp-row{grid-template-columns:1fr;gap:28px;}
  .lin-sp-cards--grid{grid-template-columns:1fr 1fr;}
  .lin-sp-media{min-height:460px;}
  .lin-problem.lin-split .lin-problem-stmt,.lin-sp-head h2{font-size:34px;}
}
@media (max-width:560px){
  .lin-sp-cards--grid{grid-template-columns:1fr;}
  .lin-sp-dash{width:88%;max-width:300px;}
}

/* ============ USE CASES ============ */
.lin-usecases{padding:112px 0;}
.lin-uc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:48px;}
.lin-uc-head h2{font-weight:400;font-size:48px;line-height:1.05;letter-spacing:-.024em;margin-top:16px;}
.lin-uc-head p{font-size:18px;color:var(--muted);max-width:380px;line-height:1.5;}
.lin-uc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.lin-uc-card{position:relative;height:540px;border-radius:var(--r-lg);overflow:hidden;display:block;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.lin-uc-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.lin-uc-photo{position:absolute;inset:0;background:#dcdcda;}
.lin-uc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .6s var(--ease);}
.lin-uc-card:hover .lin-uc-photo img{transform:scale(1.05);}
.lin-uc-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,20,.66) 0%,rgba(18,18,20,.2) 36%,rgba(18,18,20,.05) 62%,rgba(18,18,20,.5) 100%);}
.lin-grad-indigo{background:linear-gradient(165deg,#182C5E 0%,#27407a 60%,#33508f 100%);}
.lin-grad-warm{background:linear-gradient(168deg,#dcdbd5 0%,#e8e7e1 58%,#f3f2ee 100%);}
.lin-uc-content{position:absolute;inset:0;z-index:2;padding:34px;display:flex;flex-direction:column;}
.lin-uc-kicker{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--moss);}
.lin-uc-kicker.lin-uc-kicker--dark{color:var(--lime);}
.lin-uc-card.lin-uc-card--photo .lin-uc-kicker{color:var(--lime);}
.lin-uc-content h3{font-size:30px;font-weight:600;letter-spacing:-.015em;margin-top:10px;color:var(--ink);}
.lin-uc-content h3.lin-light,.lin-uc-card.lin-uc-card--photo .lin-uc-content h3{color:#fff;}
.lin-uc-content p{font-size:15px;line-height:1.5;color:var(--muted);margin-top:12px;max-width:300px;}
.lin-uc-content p.lin-light,.lin-uc-card.lin-uc-card--photo .lin-uc-content p{color:rgba(255,255,255,.86);}
.lin-uc-metric{margin-top:auto;display:flex;align-items:baseline;gap:10px;}
.lin-um-v{font-size:46px;font-weight:400;letter-spacing:-.03em;line-height:1;}
.lin-uc-card.lin-uc-card--photo .lin-um-v{color:#fff;}
.lin-uc-card.lin-uc-card--grad-warm .lin-um-v{color:var(--ink);}
.lin-um-l{font-size:13px;color:rgba(255,255,255,.8);font-weight:500;}
.lin-uc-card.lin-uc-card--grad-warm .lin-um-l{color:var(--muted);}
.lin-uc-glass{margin-top:auto;background:rgba(255,255,255,.14);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.26);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;}
.lin-ug-row{display:flex;align-items:center;gap:9px;font-size:13.5px;color:rgba(255,255,255,.92);}
.lin-ug-row i{width:15px;height:15px;color:var(--lime);flex-shrink:0;}
.lin-ug-row.lin-ans{padding-top:11px;border-top:1px solid rgba(255,255,255,.18);}
.lin-ug-ck{width:18px;height:18px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-ug-ck i{width:12px;height:12px;color:#1c2a06;stroke-width:3;}

/* ============ BENTO (operating advantage) ============ */
.lin-bento{padding:112px 0;background:var(--surface);border-block:1px solid var(--line);}
.lin-bento-head{max-width:680px;margin-bottom:48px;}
.lin-bento-head h2{font-weight:400;font-size:46px;line-height:1.06;letter-spacing:-.024em;margin-top:16px;}
.lin-bento-head p{margin-top:18px;font-size:18px;color:var(--muted);line-height:1.5;}
.lin-bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;}

.lin-bcard{position:relative;isolation:isolate;grid-column:span 12;display:flex;flex-direction:column;gap:16px;overflow:hidden;border-radius:var(--r-lg);padding:30px;aspect-ratio:4/5;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.lin-bcard:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);}
.lin-b-title{z-index:3;font-size:24px;font-weight:600;letter-spacing:-.015em;line-height:1.12;color:var(--ink);max-width:90%;text-wrap:balance;}
.lin-b-title.lin-b-title--light{color:#fff;}
.lin-b-desc{z-index:3;margin-top:auto;font-size:15px;line-height:1.5;color:var(--muted);max-width:440px;}
.lin-b-desc.lin-b-desc--light{color:rgba(255,255,255,.82);}
.lin-b-media{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;min-height:0;}

/* card surfaces */
.lin-bcard.lin-wide{background:var(--indigo);}
.lin-bcard.lin-wide::after{content:"";position:absolute;top:-30%;right:-10%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(165,205,57,.16),transparent 70%);z-index:0;}
.lin-b-warm{background:linear-gradient(168deg,#dcdbd5 0%,#e9e8e2 55%,#f3f2ee 100%);}
.lin-b-lime{background:linear-gradient(165deg,#cfe488 0%,#e3f5a8 55%,#eefac6 100%);}
.lin-b-sky{background:linear-gradient(168deg,#dde4ee 0%,#e9eef5 55%,#f2f5f9 100%);}

/* wide card layout: title top-left, desc bottom-left, media right */
@media(min-width:1100px){
  .lin-bcard{grid-column:span 4;}
  .lin-bcard.lin-wide{grid-column:span 12;aspect-ratio:1112/500;display:grid;grid-template-columns:minmax(0,42%) 1fr;grid-template-rows:auto 1fr;column-gap:36px;padding:40px 44px;}
  .lin-bcard.lin-wide .lin-b-title{grid-column:1;grid-row:1;font-size:38px;font-weight:400;letter-spacing:-.022em;}
  .lin-bcard.lin-wide .lin-b-desc{grid-column:1;grid-row:2;align-self:end;font-size:17px;}
  .lin-bcard.lin-wide .lin-b-media{grid-column:2;grid-row:1 / span 2;align-self:center;justify-content:flex-end;}
}
@media(min-width:680px) and (max-width:1099px){
  .lin-bcard{grid-column:span 6;}
}

/* --- wide: throughput dashboard --- */
.lin-dash{width:100%;max-width:420px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:22px;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:var(--sh-glass);}
.lin-dash-top{display:flex;align-items:center;justify-content:space-between;}
.lin-dash-l{font-size:12.5px;color:rgba(255,255,255,.66);letter-spacing:.02em;}
.lin-dash-live{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--lime);font-weight:600;}
.lin-dl-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:pulse 1.8s ease-out infinite;}
.lin-dash-num{margin-top:14px;font-size:40px;font-weight:400;letter-spacing:-.03em;color:#fff;line-height:1;}
.lin-dash-num em{font-style:normal;font-size:14px;color:rgba(255,255,255,.6);font-weight:500;}
.lin-dash-spark{width:100%;height:60px;margin:12px 0 4px;display:block;}
.lin-bspark{fill:none;stroke:var(--lime);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.lin-dash-rows{display:flex;flex-direction:column;gap:9px;margin-top:8px;}
.lin-dash-row{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.86);}
.lin-dr-ck{width:18px;height:18px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-dr-ck i{width:11px;height:11px;color:#1c2a06;stroke-width:3;}

/* --- empower: agent builder --- */
.lin-build{width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;}
.lin-bstep{width:100%;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:13px;font-weight:600;color:var(--ink-2);box-shadow:var(--sh-sm);}
.lin-bstep.lin-bstep--on{border-color:var(--lime);box-shadow:0 8px 20px -10px rgba(132,180,65,.55);}
.lin-bs-ic{width:26px;height:26px;border-radius:8px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--moss);flex-shrink:0;}
.lin-bstep.lin-bstep--on .lin-bs-ic{background:var(--lime);color:#1c2a06;}
.lin-bs-ic i{width:14px;height:14px;}
.lin-bconn{width:2px;height:14px;background:var(--line-2);}

/* --- unify: systems hub --- */
.lin-hub{position:relative;width:240px;height:200px;}
.lin-hub-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.lin-hub-lines path{stroke:rgba(95,125,51,.4);stroke-width:1.5;stroke-dasharray:3 5;fill:none;}
.lin-hub-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid rgba(95,125,51,.3);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-md);z-index:2;}
.lin-hub-core i{width:22px;height:22px;color:var(--moss);}
.lin-hchip{position:absolute;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--ink-2);box-shadow:var(--sh-sm);white-space:nowrap;z-index:2;}
.lin-hchip i{width:13px;height:13px;color:var(--moss);}
.lin-hchip.lin-h1{left:-6%;top:8%;}
.lin-hchip.lin-h2-icon{right:-6%;top:12%;}
.lin-hchip.lin-h3{left:-10%;bottom:14%;}
.lin-hchip.lin-h4{right:-8%;bottom:14%;}
.lin-hchip.lin-h5{left:50%;transform:translateX(-50%);bottom:-4%;}

/* --- prove: audit trail --- */
.lin-audit{width:100%;max-width:300px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:11px;}
.lin-au-row{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2);font-weight:500;}
.lin-au-row time{font-variant-numeric:tabular-nums;color:var(--muted-2);font-size:11.5px;flex-shrink:0;}
.lin-au-ok{margin-left:auto;width:18px;height:18px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-au-ok i{width:11px;height:11px;color:#1c2a06;stroke-width:3;}
.lin-au-metric{margin-top:4px;padding-top:11px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);}
.lin-au-metric b{font-weight:600;color:var(--ink);font-size:18px;letter-spacing:-.01em;}

/* ============ PLATFORM (INDIGO) ============ */
.lin-platform{background:var(--platform-bg,var(--indigo));color:#fff;padding:128px 0;position:relative;overflow:hidden;}
.lin-platform::before{content:"";position:absolute;top:-20%;left:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(165,205,57,.14),transparent 70%);}
.lin-platform-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.lin-platform-copy h2{font-weight:400;font-size:52px;line-height:1.06;letter-spacing:-.025em;margin-top:22px;color:#fff;}
.lin-platform-copy p{margin-top:22px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.78);max-width:480px;}
.lin-platform-list{list-style:none;margin:30px 0;display:flex;flex-direction:column;gap:14px;}
.lin-platform-list li{display:flex;align-items:center;gap:13px;font-size:16px;color:rgba(255,255,255,.92);}
.lin-pck{width:24px;height:24px;border-radius:50%;background:rgba(165,205,57,.16);border:1px solid rgba(165,205,57,.5);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-pck i{width:14px;height:14px;color:var(--lime);stroke-width:2.6;}
.lin-platform-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}

.lin-platform-mock{background:rgba(255,255,255,.07);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-xl);padding:26px;box-shadow:var(--sh-glass);}
.lin-pm-head{display:flex;align-items:center;justify-content:space-between;}
.lin-pm-t{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:700;}
.lin-pm-t i{width:17px;height:17px;color:var(--lime);}
.lin-pm-live{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:rgba(255,255,255,.7);}
.lin-pm-live .lin-d{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:pulse 1.8s ease-out infinite;}
.lin-pm-msg{margin-top:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:14px 14px 14px 4px;padding:14px 16px;font-size:14.5px;color:#fff;max-width:88%;}
.lin-pm-reply{margin-top:12px;margin-left:auto;max-width:94%;background:rgba(165,205,57,.12);border:1px solid rgba(165,205,57,.3);border-radius:14px 14px 4px 14px;padding:14px 16px;}
.lin-pm-rh{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.7);margin-bottom:8px;}
.lin-pm-rh i{width:14px;height:14px;color:var(--lime);}
.lin-pm-reply p{font-size:14px;line-height:1.45;color:#fff;}
.lin-pm-stats{display:flex;gap:14px;margin-top:18px;}
.lin-pm-stat{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px;}
.lin-ps-v{font-size:32px;font-weight:400;letter-spacing:-.02em;color:var(--lime);line-height:1;}
.lin-ps-l{font-size:12.5px;color:rgba(255,255,255,.66);margin-top:8px;}
.lin-pm-chart{margin-top:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px;}
.lin-pm-chart svg{width:100%;height:54px;display:block;}
.lin-spark{fill:none;stroke:var(--lime);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.lin-pm-chart-l{font-size:12px;color:rgba(255,255,255,.62);margin-top:8px;display:block;}

/* ============ INDUSTRIES ============ */
.lin-industries{padding:112px 0;}
.lin-ind-head{max-width:680px;margin-bottom:56px;}
.lin-ind-head h2{font-weight:400;font-size:46px;line-height:1.06;letter-spacing:-.024em;margin-top:16px;}
.lin-ind-head p{margin-top:18px;font-size:18px;color:var(--muted);line-height:1.5;}
.lin-ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.lin-ind-grid .lin-ind{padding:30px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;display:flex;flex-direction:column;transition:all .25s var(--ease);position:relative;overflow:hidden;}
.lin-ind-grid .lin-ind::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lime);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease);}
.lin-ind-grid .lin-ind:hover{border-color:var(--line-2);transform:translateY(-4px);box-shadow:var(--sh-md);}
.lin-ind-grid .lin-ind:hover::after{transform:scaleY(1);}
.lin-i-ic{width:46px;height:46px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--moss);margin-bottom:20px;}
.lin-i-ic i{width:22px;height:22px;stroke-width:1.7;}
.lin-ind-grid .lin-ind h4{font-size:20px;font-weight:600;color:var(--ink);margin-bottom:9px;letter-spacing:-.01em;}
.lin-ind-grid .lin-ind p{font-size:14.5px;line-height:1.5;color:var(--muted);flex:1;}
.lin-i-link{display:inline-flex;align-items:center;gap:7px;margin-top:20px;font-size:14px;font-weight:600;color:var(--moss);}
.lin-i-link i{width:15px;height:15px;transition:transform .2s var(--ease);}
.lin-ind-grid .lin-ind:hover .lin-i-link i{transform:translateX(4px);}

/* ============ ENGAGEMENT ============ */
.lin-engagement{padding:112px 0;background:var(--surface);border-block:1px solid var(--line);}
.lin-eng-head{max-width:640px;margin-bottom:64px;}
.lin-eng-head h2{font-weight:400;font-size:46px;line-height:1.06;letter-spacing:-.024em;margin-top:16px;}
.lin-eng-head p{margin-top:18px;font-size:18px;color:var(--muted);line-height:1.5;}
.lin-eng-track{position:relative;}
.lin-eng-line{position:absolute;top:7px;left:0;right:0;height:2px;background:var(--line);overflow:hidden;}
.lin-eng-line-fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--lime),var(--lime-deep));transform:scaleX(0);transform-origin:left;}
.lin-eng-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.lin-eng-step{position:relative;padding-top:34px;}
.lin-es-node{position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--line-2);transition:all .3s var(--ease);}
.lin-eng-step.lin-active .lin-es-node{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 6px rgba(165,205,57,.18);}
.lin-es-week{font-size:13px;font-weight:700;color:var(--lime-deep);letter-spacing:.02em;}
.lin-eng-step h4{font-size:23px;font-weight:600;color:var(--ink);margin:8px 0 10px;letter-spacing:-.01em;}
.lin-eng-step p{font-size:15px;line-height:1.55;color:var(--muted);max-width:260px;}

/* ============ PROOF ============ */
.lin-proof{background:var(--black);padding:88px 0;}
.lin-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.lin-stat{text-align:left;}
.lin-st-v{font-size:64px;font-weight:400;letter-spacing:-.03em;color:#fff;line-height:1;display:flex;align-items:baseline;}
.lin-st-v .lin-u{font-size:32px;color:var(--lime);margin-left:2px;}
.lin-st-v .lin-pre{font-size:40px;color:rgba(255,255,255,.5);margin-right:2px;}
.lin-st-l{font-size:15px;color:rgba(255,255,255,.66);margin-top:16px;line-height:1.45;max-width:240px;}

/* ============ FINAL CTA ============ */
.lin-final{position:relative;background:var(--surface);color:var(--ink);padding:172px 0;overflow:hidden;}
.lin-final::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(840px,88vw);height:460px;background:radial-gradient(ellipse at center,var(--surface) 26%,rgba(250,248,246,.72) 52%,rgba(250,248,246,0) 74%);z-index:1;pointer-events:none;}
.lin-final-bg,.lk-final-bg{position:absolute;inset:0;z-index:0;}
.lin-final-flow,.lk-final-flow{width:100%;height:100%;}
.lin-ff-path,.ff-path,.lk-ff-path{fill:none;stroke:rgba(165,205,57,.62);stroke-width:1.7;stroke-dasharray:4 9;stroke-linecap:round;animation:ffFlow 7s linear infinite;}
.ff-path,.lk-ff-path{stroke-dashoffset:0;}
@keyframes ffFlow{to{stroke-dashoffset:-300;}}
@media (prefers-reduced-motion:reduce){.lin-ff-path,.ff-path,.lk-ff-path{animation:none;}}
.lin-final-inner{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;}
.lin-final-inner h2{font-weight:400;font-size:74px;line-height:1.03;letter-spacing:-.03em;color:var(--ink);text-wrap:balance;}
.lin-final-cta{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap;justify-content:center;}

/* ============ FOOTER ============ */
.lin-footer{padding:80px 0 56px;}
.lin-footer-top{display:flex;justify-content:space-between;gap:60px;flex-wrap:wrap;padding-bottom:56px;border-bottom:1px solid var(--line);}
.lin-footer-brand{max-width:300px;}
.lin-footer-logo{height:24px;margin-bottom:18px;}
.lin-footer-brand p{font-size:15px;color:var(--muted);line-height:1.5;}
.lin-footer-cols{display:flex;gap:64px;}
.lin-fcol .lin-fh{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:14px;}
.lin-fcol a{display:block;font-size:14.5px;color:var(--muted);padding:5px 0;transition:color .15s;}
.lin-fcol a:hover{color:var(--moss);}
.lin-footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:30px;flex-wrap:wrap;gap:12px;}
.lin-footer-bottom span{font-size:13px;color:var(--muted-2);}

/* ============ CONTACT PANEL ============ */
.lin-overlay{position:fixed;inset:0;z-index:100;background:rgba(11,13,16,.42);opacity:0;pointer-events:none;transition:opacity .3s var(--ease);backdrop-filter:blur(2px);}
.lin-overlay.lin-overlay--open{opacity:1;pointer-events:auto;}
.lin-panel{position:absolute;top:0;right:0;height:100%;width:min(460px,100%);background:var(--paper);box-shadow:var(--sh-xl);padding:56px 44px;overflow-y:auto;transform:translateX(100%);transition:transform .4s var(--ease);}
.lin-overlay.lin-overlay--open .lin-panel{transform:translateX(0);}
.lin-panel-x{position:absolute;top:22px;right:22px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .2s var(--ease);}
.lin-panel-x:hover{background:var(--surface);}
.lin-panel-x i{width:18px;height:18px;}
.lin-panel-h{font-size:34px;font-weight:400;letter-spacing:-.022em;margin:14px 0 12px;line-height:1.05;}
.lin-panel-sub{font-size:16px;color:var(--muted);line-height:1.5;}
.lin-form{display:flex;flex-direction:column;gap:16px;margin-top:30px;}
.lin-field{display:flex;flex-direction:column;gap:7px;}
.lin-field-l{font-size:13px;font-weight:600;color:var(--ink-2);}
.lin-field input,.lin-field textarea{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;line-height:normal;transition:border-color .18s,box-shadow .18s;resize:none;}
.lin-field input::placeholder,.lin-field textarea::placeholder{color:var(--muted-2);}
.lin-field input:focus,.lin-field textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(165,205,57,.18);background:#fff;}
.lin-form .lin-btn{margin-top:6px;}
.lin-sent{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:30px;}
.lin-sent-ic{width:56px;height:56px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;color:#1c2a06;}
.lin-sent-ic i{width:28px;height:28px;stroke-width:2.4;}

/* ============ TWEAKS MOUNT ============ */
#tweaks-root{position:fixed;z-index:200;}
#tw{position:fixed;right:20px;bottom:20px;z-index:300;width:286px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-xl);padding:16px 16px 18px;font-family:var(--sans);display:none;}
#tw.lin-open{display:block;}
.lin-tw-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.lin-tw-h b{font-size:14px;font-weight:700;color:var(--ink);}
.lin-tw-x{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);}
.lin-tw-x i{width:15px;height:15px;}
.lin-tw-sec{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);font-weight:700;margin:16px 0 9px;}
.lin-tw-lbl{font-size:13px;color:var(--ink-2);font-weight:600;margin-bottom:8px;display:block;}
.lin-tw-swatches{display:flex;gap:8px;}
.lin-tw-sw{width:32px;height:32px;border-radius:9px;cursor:pointer;border:2px solid var(--line);transition:transform .15s var(--ease);}
.lin-tw-sw:hover{transform:scale(1.08);}
.lin-tw-sw.lin-tw-sw--on{border-color:var(--ink);box-shadow:0 0 0 2px #fff inset;}
.lin-tw-seg{display:flex;gap:4px;background:var(--surface);border-radius:10px;padding:3px;}
.lin-tw-seg button{flex:1;border:none;background:transparent;padding:8px 6px;font-size:12.5px;font-weight:600;border-radius:8px;cursor:pointer;color:var(--muted);font-family:var(--sans);transition:all .15s var(--ease);}
.lin-tw-seg button.lin-on{background:#fff;color:var(--ink);box-shadow:var(--sh-sm);}

/* ============ CENTERED PAGE FEEL ============ */
/* section heads + text centered everywhere */
.lin-uc-head{display:block;text-align:center;}
.lin-bento-head,.lin-ind-head,.lin-eng-head,.lin-pillars-head{text-align:center;margin-left:auto;margin-right:auto;}
.lin-uc-head p,.lin-bento-head p,.lin-ind-head p,.lin-eng-head p,.lin-pillars-head p{margin-left:auto;margin-right:auto;}
.lin-problem .lin-page{text-align:center;}
.lin-problem-stmt{margin-left:auto;margin-right:auto;}

/* industries cards centered */
.lin-ind-grid .lin-ind{align-items:center;text-align:center;}
.lin-ind-grid .lin-ind .lin-i-ic{margin-left:auto;margin-right:auto;}
.lin-ind-grid .lin-ind .lin-i-link{justify-content:center;}
.lin-ind-grid .lin-ind::after{left:50%;top:auto;bottom:0;width:48px;height:3px;transform:translateX(-50%) scaleX(0);transform-origin:center;}
.lin-ind-grid .lin-ind:hover::after{transform:translateX(-50%) scaleX(1);}

/* proof stats centered */
.lin-stat{text-align:center;}
.lin-st-v{justify-content:center;}
.lin-st-l{margin-left:auto;margin-right:auto;}

/* pillars → centered cards */
.lin-pillars-grid{display:block;}
.lin-pillars-head{position:static;max-width:760px;margin:0 auto 56px;}
.lin-pillars-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.lin-pillar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:32px 22px;border:1px solid var(--line);border-radius:var(--r-lg);}
.lin-pillar:last-child{border-bottom:1px solid var(--line);}
.lin-pl-num{padding-top:0;}
.lin-pl-body{text-align:center;}
.lin-pl-body p{margin-left:auto;margin-right:auto;}

/* ============ PROBLEM ============ */
.lin-problem{padding:112px 0;scroll-margin-top:84px;background:var(--surface);border-block:1px solid var(--line);}
.lin-problem-stmt{font-weight:400;font-size:50px;line-height:1.14;letter-spacing:-.022em;color:var(--ink);max-width:1100px;margin-top:26px;text-wrap:balance;}
.lin-problem-stmt em{font-style:normal;color:var(--moss);}
.lin-problem-stmt .w.em{color:var(--moss);font-style:normal;}
.lin-problem .lin-frictions{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:72px;}
.lin-problem .lin-friction{padding:32px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);}
.lin-problem friction:hover{border-color:var(--line-2);transform:translateY(-4px);box-shadow:var(--sh-md);}
.lin-problem .lin-fr-ic{width:48px;height:48px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--moss);margin-bottom:22px;}
.lin-problem .lin-fr-ic i{width:23px;height:23px;stroke-width:1.8;}
.lin-problem .lin-friction h4{font-size:19px;font-weight:600;color:var(--ink);margin-bottom:10px;letter-spacing:-.01em;}
.lin-problem .lin-friction p{font-size:15px;line-height:1.55;color:var(--muted);}

/* platform → centered stack */
.lin-platform-grid{grid-template-columns:1fr;gap:48px;justify-items:center;}
.lin-platform-copy{text-align:center;max-width:680px;}
.lin-platform-copy .lin-eyebrow{justify-content:center;}
.lin-platform-copy p{margin-left:auto;margin-right:auto;}
.lin-platform-list{align-items:center;}
.lin-platform-list li{justify-content:center;}
.lin-platform-cta{justify-content:center;}
.lin-platform-mock{width:100%;max-width:520px;}

/* engagement → centered nodes + labels (desktop track) */
@media(min-width:981px){
  .lin-eng-step{text-align:center;padding-top:34px;}
  .lin-es-node{left:50%;transform:translateX(-50%);}
  .lin-eng-step p{margin-left:auto;margin-right:auto;}
}
@media(min-width:981px) and (max-width:1179px){
  .lin-pillars-list{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:980px){
  .lin-pillars-list{grid-template-columns:1fr;}
}

/* ============ RESPONSIVE ============ */
@media (max-width:1180px){
  .lin-hero__headline{font-size:60px;}
  .lin-pillars-grid{grid-template-columns:1fr;gap:40px;}
  .lin-pillars-head{position:static;}
  .lin-platform-grid{grid-template-columns:1fr;gap:48px;}
}
@media (max-width:980px){
  .lin-page,.lin-nav-inner,.lin-hero{padding-left:32px;padding-right:32px;}
  .lin-hero{padding-top:108px;min-height:auto;}
  /* collapse the radial diagram to a clean centered hero */
  .lin-hero-stage{aspect-ratio:auto;display:flex;flex-direction:column;align-items:center;padding:40px 0;}
  .lin-hero-flow,.lin-hero-mask,.lin-hnode{display:none;}
  .lin-hero-center{position:static;transform:none;width:100%;max-width:560px;}
  .lin-hero__headline{font-size:52px;}
  .lin-problem-stmt{font-size:38px;}
  .lin-frictions,.lin-uc-grid,.lin-ind-grid,.lin-eng-steps,.lin-proof-grid{grid-template-columns:1fr;}
  .lin-uc-grid{grid-template-columns:1fr;}
  .lin-eng-line{display:none;}
  .lin-eng-steps{gap:28px;}
  .lin-eng-step{padding-top:0;padding-left:28px;}
  .lin-es-node{top:6px;}
  .lin-uc-head{flex-direction:column;align-items:flex-start;gap:16px;}
  .lin-final-inner h2{font-size:44px;}
}
@media (max-width:560px){
  .lin-hero__headline{font-size:42px;}
  .lin-hero-cta{flex-direction:column;align-items:stretch;}
  .lin-ind-grid,.lin-uc-grid{grid-template-columns:1fr;}
  .lin-proof-grid{grid-template-columns:1fr 1fr;}
}

/* ------------------------------------------------------------
   Source: services.css
   ------------------------------------------------------------ */
/* ============================================================
  SERVICES — one dark hero (headline + four service cards, no
  animation) followed by one detailed section per service.
  Card treatment mirrors the Expert Teams overview cards:
  an image-slot photo on top, then icon · heading · arrow.
  ============================================================ */

/* ---- LIGHT HERO — same wash as the Expert Teams hero ---- */
.lin-sv-hero {
  position: relative; overflow: hidden;
  background:
    radial-gradient(120% 90% at 88% 8%, rgba(165, 205, 57, .10), transparent 55%),
    radial-gradient(90% 80% at 6% 92%, rgba(24, 44, 94, .07), transparent 60%),
    linear-gradient(to bottom, #fff 0%, #fff 58%, var(--paper) 100%);
  padding: 176px 0 96px; color: var(--ink);
}
.lin-sv-hero-inner {
  position: relative; z-index: 2;
  max-width: 1000px; margin: 0 auto; padding: 0 56px; text-align: center;
}
.lin-sv-hero-h1 {
  margin-top: 22px;
  font-size: clamp(44px, 5.4vw, 74px); font-weight: 400; line-height: 1.03;
  letter-spacing: -.028em; color: var(--ink); text-wrap: balance;
}
.lin-sv-hero-h1 .lin-dot { color: var(--lime); }
.lin-sv-hero-sub {
  margin: 24px auto 0; max-width: 60ch;
  font-size: 21px; line-height: 1.5; color: var(--muted);
}
.lin-sv-hero-cta { margin-top: 38px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ---- HERO SERVICE CARDS (light) ---- */
.lin-sv-grid {
  position: relative; z-index: 2;
  max-width: 1640px; margin: 64px auto 0; padding: 0 56px;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
}
.lin-sv-card {
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-sm);
  transition: box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.lin-sv-card:hover { box-shadow: var(--sh-lg); border-color: var(--line-2); transform: translateY(-4px); }

.lin-sv-card-media { position: relative; aspect-ratio: 4 / 3; background: #e3e2df; overflow: hidden; }
.lin-sv-card-media image-slot { display: block; width: 100%; height: 100%; }
.lin-sv-card-num {
  position: absolute; top: 14px; left: 16px; z-index: 3;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #fff;
  font-variant-numeric: tabular-nums; background: rgba(20, 22, 28, .55);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  padding: 5px 11px; border-radius: 999px; pointer-events: none;
}

.lin-sv-card-action {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0 15px;
  text-align: left; font: inherit; cursor: pointer; width: 100%; flex: 1;
  background: transparent; border: none; padding: 22px 22px 24px;
}
.lin-sv-card-action:focus-visible { outline: 2px solid var(--moss); outline-offset: -3px; }
.lin-sv-card-ic {
  grid-column: 1; align-self: start; width: 44px; height: 44px; border-radius: 11px;
  background: var(--surface-2); color: var(--moss);
  display: flex; align-items: center; justify-content: center;
  transition: transform .3s var(--ease);
}
.lin-sv-card:hover .lin-sv-card-ic { transform: scale(1.06); }
.lin-sv-card-body { grid-column: 2; display: block; }
.lin-sv-card-h {
  display: block; font-size: 18px; font-weight: 600; color: var(--ink);
  letter-spacing: -.01em; margin-bottom: 5px; text-wrap: balance;
}
.lin-sv-card-p { display: block; font-size: 13.5px; color: var(--muted); line-height: 1.5; }
.lin-sv-card-go {
  grid-column: 3; align-self: center; width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: var(--muted-2);
  background: var(--surface); border: 1px solid var(--line);
  transition: transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.lin-sv-card:hover .lin-sv-card-go { background: var(--lime); color: var(--ink); border-color: var(--lime); transform: translateX(3px); }

/* ============================================================
  DETAILED SERVICE SECTIONS
  ============================================================ */
.lin-sv-section { padding: 112px 0; scroll-margin-top: 84px; background: var(--paper); }
.lin-sv-section--alt { background: var(--oatmeal); }
.lin-sv-sec-wrap {
  max-width: 1640px; margin: 0 auto; padding: 0 56px;
  display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 76px; align-items: center;
}
.lin-sv-section--flip .lin-sv-sec-media { order: 2; }

.lin-sv-sec-media {
  position: relative; aspect-ratio: 5 / 4; border-radius: var(--r-lg);
  overflow: hidden; background: #e3e2df; box-shadow: var(--sh-lg);
}
.lin-sv-sec-media image-slot { display: block; width: 100%; height: 100%; }
.lin-sv-sec-num {
  position: absolute; top: 18px; left: 20px; z-index: 3;
  font-size: 13px; font-weight: 700; letter-spacing: .06em; color: #fff;
  font-variant-numeric: tabular-nums; background: rgba(20, 22, 28, .55);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  padding: 6px 13px; border-radius: 999px; pointer-events: none;
}

.lin-sv-sec-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--moss);
}
.lin-sv-sec-eyebrow .lin-ic {
  width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
  background: var(--pale-lime, #E8FC9B); color: var(--moss);
}
.lin-sv-sec-h {
  margin: 18px 0 0; font-size: clamp(30px, 3.1vw, 42px); font-weight: 400;
  line-height: 1.08; letter-spacing: -.024em; color: var(--ink); text-wrap: balance;
}
.lin-sv-sec-lead {
  margin: 18px 0 0; max-width: 58ch;
  font-size: 18px; line-height: 1.55; color: var(--muted);
}
.lin-sv-feat-grid {
  margin-top: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 26px 30px;
}
.lin-sv-feat { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.lin-sv-feat-ic {
  width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
  background: var(--surface-2); color: var(--moss); flex: none;
}
.lin-sv-feat-tx h4 { margin: 2px 0 5px; font-size: 16px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.lin-sv-feat-tx p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.lin-sv-sec-cta { margin-top: 38px; }

/* ---- ENTERPRISE APPS — centered head + 3 product cards ---- */
.lin-sv-apps-wrap { max-width: 1280px; margin: 0 auto; padding: 0 56px; text-align: center; }
.lin-sv-apps-head { max-width: 740px; margin: 0 auto; }
.lin-sv-apps-head .lin-sv-sec-lead { margin-left: auto; margin-right: auto; }
.lin-sv-products {
  margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left;
}
.lin-sv-product {
  display: flex; flex-direction: column; background: #fff;
  border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden;
  box-shadow: var(--sh-sm); transition: box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.lin-sv-product:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); border-color: var(--line-2); }
.lin-sv-product-media { aspect-ratio: 16 / 9; background: #e3e2df; overflow: hidden; }
.lin-sv-product-media image-slot { display: block; width: 100%; height: 100%; }
.lin-sv-product-body { padding: 24px 24px 28px; }
.lin-sv-product-ic {
  width: 44px; height: 44px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
  background: var(--surface-2); color: var(--moss); margin-bottom: 16px;
}
.lin-sv-product-body h3 { margin: 0 0 8px; font-size: 19px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.lin-sv-product-body p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--muted); }
.lin-sv-apps-cta { margin-top: 48px; display: flex; justify-content: center; }

/* ---- RESPONSIVE ---- */
@media (max-width: 1180px) {
  .lin-sv-grid { grid-template-columns: repeat(2, 1fr); }
  .lin-sv-sec-wrap { grid-template-columns: 1fr; gap: 44px; }
  .lin-sv-section--flip .lin-sv-sec-media { order: 0; }
  .lin-sv-products { grid-template-columns: 1fr; }
}
@media (max-width: 1080px) {
  .lin-sv-hero { padding: 148px 0 80px; }
  .lin-sv-grid, .lin-sv-sec-wrap, .lin-sv-apps-wrap { padding-left: 32px; padding-right: 32px; }
  .lin-sv-section { padding: 88px 0; }
}
@media (max-width: 620px) {
  .lin-sv-grid { grid-template-columns: 1fr; }
  .lin-sv-hero-sub { font-size: 18px; }
  .lin-sv-feat-grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------
   Source: product.css
   ------------------------------------------------------------ */
/* ============================================================
   Procurement Automation landing page — section styles
   Built on colors_and_type.lin-css + kit.lin-css (Manrope, brand palette).
   Surfaces used: white (default), oatmeal, indigo. Lime stays precious.
   ============================================================ */

/* keep the nav CTA on one line */
.lin-nav-cta { white-space: nowrap; }

/* ============================================================
   HERO v2 — light, content-sized, workflow-card collage
   ============================================================ */
.lin-hero2 { background: var(--paper); padding-top: 150px; }
.lin-hero2-inner { max-width: 1640px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 1.02fr 1fr; gap: 56px; align-items: center; }

.lin-hero2-h1 { font-weight: 400; font-size: 74px; line-height: 1.03; letter-spacing: -.032em; }
.lin-hero2-h1 .lin-l1 { display: block; color: var(--ink); }
.lin-hero2-h1 .lin-l2 { display: block; color: var(--indigo); }
.lin-hero2-h1 .lin-l2 .lin-dot { color: var(--lime); }
.lin-hero2-sub { margin-top: 28px; font-size: 21px; line-height: 1.5; color: var(--muted); max-width: 540px; }
.lin-hero2-cta { display: flex; gap: 14px; margin-top: 38px; flex-wrap: wrap; }
.lin-hero2-trust { margin-top: 64px; }
.lin-hero2-trust .lin-eyebrow { display: block; margin-bottom: 24px; }
.lin-trust-row { display: flex; gap: 34px; flex-wrap: wrap; align-items: center; }
.lin-trust-item { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; font-weight: 600; }
.lin-trust-item .lin-lic { color: var(--muted-2); }

/* ---- right-side collage ---- */
.lin-hero2-art { position: relative; height: 588px; }
.lin-art-photo { position: absolute; overflow: hidden; border-radius: 18px; box-shadow: var(--sh-lg); background: #dcdcda; }
.lin-art-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lin-art-photo.lin-main { right: 1%; top: 8px; width: 63%; height: 366px; }
.lin-art-photo.lin-main img { object-position: center 30%; }
.lin-art-photo.lin-sub { left: 6%; bottom: 54px; width: 30%; height: 176px; }
.lin-art-photo.lin-sub img { object-position: center 60%; }

.lin-art-svg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.lin-art-svg path { fill: none; stroke: var(--line-2); stroke-width: 1.5; stroke-dasharray: 4 5; }

.lin-fcard { position: absolute; z-index: 3; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; box-shadow: var(--sh-xl); }
.lin-fcard-head { display: flex; gap: 11px; align-items: flex-start; }
.lin-fcard-ic { width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-fcard-ic.lin-doc, .lin-fcard-ic.lin-po { background: var(--surface-2); color: var(--moss); }
.lin-fcard-ic.lin-ai { background: rgba(24,44,94,.09); color: var(--indigo); }
.lin-fcard-t { font-size: 14px; font-weight: 600; color: var(--ink); letter-spacing: -.005em; }
.lin-fcard-id { font-size: 12px; color: var(--muted); margin-top: 2px; white-space: nowrap; }
.lin-fcard-status { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--muted); margin-top: 13px; }
.lin-fcard-status .lin-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); flex-shrink: 0; }
.lin-fcard-amt { font-size: 18px; font-weight: 600; color: var(--ink); margin-top: 8px; letter-spacing: -.01em; }
.lin-fcard-desc { font-size: 12.5px; color: var(--muted); line-height: 1.42; margin-top: 11px; }

.lin-fcard.lin-req { left: 0; top: 40px; width: 224px; }
.lin-fcard.lin-ai  { left: 4%; top: 232px; width: 252px; }
.lin-fcard.lin-appr { right: 0; top: 250px; width: 286px; }
.lin-fcard.lin-po  { right: 9%; bottom: 0; width: 232px; }

.lin-appr-title { font-size: 14px; font-weight: 600; color: var(--ink); letter-spacing: -.005em; margin-bottom: 6px; }
.lin-appr-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.lin-av { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 9.5px; font-weight: 700; color: #fff; flex-shrink: 0; letter-spacing: .02em; }
.lin-av.lin-a { background: #5b7aa8; } .lin-av.lin-b { background: #6f9152; } .lin-av.lin-c { background: #9a8a6b; }
.lin-appr-name { font-size: 13px; color: var(--ink-2); flex: 1; }
.lin-appr-stat { display: flex; align-items: center; gap: 5px; font-size: 12px; white-space: nowrap; }
.lin-appr-stat.lin-ok { color: var(--moss); }
.lin-appr-stat.lin-pend { color: var(--muted-2); }

/* ---- feature strip ---- */
.lin-hero2-feats { max-width: 1640px; margin: 68px auto 0; padding: 0 56px; }
.lin-feats-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 12px; display: grid; grid-template-columns: repeat(4, 1fr); }
.lin-feat { display: flex; gap: 15px; align-items: flex-start; padding: 4px 32px; border-left: 1px solid var(--line); }
.lin-feat:first-child { border-left: none; }
.lin-feat-ic { color: var(--moss); flex-shrink: 0; margin-top: 1px; }
.lin-feat h5 { font-size: 16px; font-weight: 600; color: var(--ink); margin-bottom: 6px; letter-spacing: -.005em; }
.lin-feat p { font-size: 14px; color: var(--muted); line-height: 1.46; }

@media (max-width: 1080px) {
  .lin-hero2 { padding-top: 128px; }
  .lin-hero2-inner { grid-template-columns: 1fr; gap: 56px; }
  .lin-hero2-h1 { font-size: 52px; }
  .lin-hero2-art { height: 520px; max-width: 620px; }
  .lin-hero2-feats { padding-left: 32px; padding-right: 32px; }
  .lin-feats-panel { grid-template-columns: 1fr 1fr; gap: 28px 0; }
  .lin-feat:nth-child(3) { border-left: none; }
}
@media (max-width: 620px) {
  .lin-hero2-inner { padding: 0 32px; }
  .lin-hero2-h1 { font-size: 40px; }
  .lin-hero2-sub { font-size: 19px; }
  .lin-hero2-art { display: none; }
  .lin-feats-panel { grid-template-columns: 1fr; gap: 26px; }
  .lin-feat { border-left: none; padding: 0; }
}

/* ---- section scaffolding ---- */
.lin-sec { padding: 120px 0; }
.lin-sec--oatmeal { background: var(--oatmeal); }
.lin-sec--indigo  { background: var(--indigo); color: #fff; }
.lin-wrap { max-width: 1640px; margin: 0 auto; padding: 0 56px; }

.lin-head { max-width: 780px; }
.lin-head .lin-eyebrow { display: block; margin-bottom: 18px; }
.lin-h2 { font-weight: 400; font-size: 50px; line-height: 1.05; letter-spacing: -.025em; color: var(--ink); }
.lin-sec--indigo .lin-h2 { color: #fff; }
.lin-h2 .lin-dot { color: var(--lime); }
.lin-lead { margin-top: 22px; font-size: 21px; line-height: 1.5; color: var(--muted); max-width: 680px; }
.lin-sec--indigo .lin-lead { color: rgba(255,255,255,.78); }

/* ---- THE PROBLEM (two-column) ---- */
.lin-problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 88px; align-items: start; }
.lin-punch { margin-top: 40px; font-size: 27px; line-height: 1.32; letter-spacing: -.012em; color: var(--ink); max-width: 470px; }
.lin-punch .lin-em { color: var(--moss); font-weight: 600; }

.lin-problem-grid .lin-frictions { display: flex; flex-direction: column; }
.lin-problem-grid .lin-friction { display: flex; gap: 20px; align-items: center; padding: 24px 2px; border-top: 1px solid var(--line-2); }
.lin-problem-grid .lin-friction:last-child { border-bottom: 1px solid var(--line-2); }
.lin-problem-grid .lin-fric-ic { width: 46px; height: 46px; border-radius: 11px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--muted); flex-shrink: 0; box-shadow: var(--sh-sm); }
.lin-problem-grid .lin-fric-t { font-size: 20px; font-weight: 500; color: var(--ink); letter-spacing: -.006em; }

/* ---- THE OPPORTUNITY (indigo) ---- */
.lin-opp-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 88px; align-items: start; }
.lin-opp-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 44px; }
.lin-opp-item { display: flex; gap: 15px; align-items: center; padding: 19px 0; border-top: 1px solid rgba(255,255,255,.16); font-size: 18px; color: rgba(255,255,255,.92); letter-spacing: -.004em; }
.lin-opp-dot { width: 28px; height: 28px; border-radius: 8px; background: rgba(165,205,57,.18); color: var(--lime); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-opp-foot { margin-top: 56px; display: flex; align-items: center; gap: 18px; padding-top: 42px; border-top: 1px solid rgba(255,255,255,.16); }
.lin-opp-foot .lin-shield { width: 48px; height: 48px; border-radius: 12px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); color: var(--lime); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-opp-foot .lin-t { font-size: 28px; line-height: 1.2; letter-spacing: -.012em; color: #fff; }
.lin-opp-foot .lin-t .lin-em { color: var(--lime); }

/* ---- WHAT LINNOVATE DELIVERS (cards) ---- */
.lin-cards { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; margin-top: 60px; }
.lin-card { grid-column: span 2; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 36px 34px; box-shadow: var(--sh-sm); transition: box-shadow .28s var(--ease), transform .28s var(--ease); }
.lin-card:nth-child(4), .lin-card:nth-child(5) { grid-column: span 3; }
.lin-card:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.lin-card-ic { width: 54px; height: 54px; border-radius: 13px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 26px; }
.lin-card h4 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 11px; }
.lin-card p { font-size: 16px; line-height: 1.5; color: var(--muted); max-width: 30ch; }

/* ---- WHY LINNOVATE ---- */
.lin-why-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 88px; align-items: start; }
.lin-why-list { display: flex; flex-direction: column; }
.lin-why-item { display: flex; gap: 18px; align-items: center; padding: 22px 0; border-top: 1px solid var(--line-2); font-size: 21px; font-weight: 500; letter-spacing: -.008em; color: var(--ink); }
.lin-why-item:last-child { border-bottom: 1px solid var(--line-2); }
.lin-why-ck { color: var(--moss); flex-shrink: 0; display: flex; }
.lin-why-item.lin-why-item--key { color: var(--ink); }
.lin-why-item.lin-why-item--key .lin-why-ck { color: #1c2a06; background: var(--lime); width: 30px; height: 30px; border-radius: 50%; align-items: center; justify-content: center; }

/* ---- IDEAL FOR (audience cards) ---- */
.lin-aud { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 56px; }
.lin-aud-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 30px 26px; display: flex; flex-direction: column; gap: 20px; box-shadow: var(--sh-sm); transition: box-shadow .28s var(--ease), transform .28s var(--ease); }
.lin-aud-card:hover { box-shadow: var(--sh-md); transform: translateY(-2px); }
.lin-aud-ic { width: 48px; height: 48px; border-radius: 11px; background: var(--surface); color: var(--ink-2); display: flex; align-items: center; justify-content: center; }
.lin-aud-card .lin-t { font-size: 18px; font-weight: 600; color: var(--ink); line-height: 1.32; letter-spacing: -.006em; }

/* ---- ENGAGEMENT MODEL (timeline) ---- */
.lin-timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 64px; }
.lin-step { position: relative; padding-right: 28px; }
.lin-step-ic { width: 44px; height: 44px; border-radius: 11px; background: #fff; border: 1px solid var(--line); color: var(--moss); display: flex; align-items: center; justify-content: center; box-shadow: var(--sh-sm); margin-bottom: 26px; }
.lin-track { position: relative; height: 16px; display: flex; align-items: center; margin-bottom: 26px; }
.lin-track::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: var(--line-2); transform: translateY(-50%); }
.lin-step:last-child .lin-track::before { right: auto; width: 9px; }
.lin-node { position: relative; width: 15px; height: 15px; border-radius: 50%; background: var(--lime); z-index: 2; box-shadow: 0 0 0 5px var(--oatmeal), 0 0 0 6px var(--line-2); }
.lin-when { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--moss); margin-bottom: 11px; }
.lin-what { font-size: 22px; font-weight: 600; color: var(--ink); letter-spacing: -.012em; line-height: 1.22; }

/* ---- CLOSING CTA (indigo) ---- */
.lin-cta { text-align: center; padding: 132px 0; }
.lin-cta .lin-h2 { font-size: 60px; line-height: 1.04; letter-spacing: -.026em; max-width: 880px; margin: 0 auto; }
.lin-cta-sub { margin: 24px auto 0; max-width: 640px; font-size: 21px; line-height: 1.5; color: rgba(255,255,255,.8); }
.lin-cta-btn { margin-top: 42px; display: flex; justify-content: center; }

/* ---- RESPONSIVE ---- */
@media (max-width: 1080px) {
  .lin-wrap { padding-left: 32px; padding-right: 32px; }
  .lin-sec { padding: 88px 0; }
  .lin-h2 { font-size: 40px; }
  .lin-problem-grid, .lin-opp-grid, .lin-why-grid { grid-template-columns: 1fr; gap: 48px; }
  .lin-cards { grid-template-columns: repeat(2, 1fr); }
  .lin-card, .lin-card:nth-child(4), .lin-card:nth-child(5) { grid-column: span 1; }
  .lin-aud { grid-template-columns: repeat(3, 1fr); }
  .lin-timeline { grid-template-columns: repeat(2, 1fr); row-gap: 48px; }
  .lin-cta .lin-h2 { font-size: 44px; }
}
@media (max-width: 620px) {
  .lin-h2 { font-size: 33px; }
  .lin-lead { font-size: 19px; }
  .lin-opp-list { grid-template-columns: 1fr; }
  .lin-cards, .lin-aud, .lin-timeline { grid-template-columns: 1fr; }
  .lin-step { padding-right: 0; }
  .lin-track { display: none; }
  .lin-punch, .lin-opp-foot .lin-t { font-size: 23px; }
}

/* ------------------------------------------------------------
   Source: product-ext.css
   ------------------------------------------------------------ */
/* ============================================================
   Product template — extensions beyond the Procurement reference.
   Adds: hero placeholder art, photo capability cards,
   Customer Success Story, Business Outcomes metrics.
   Built on product.lin-css (pa- classes) + colors_and_type.lin-css.
   ============================================================ */

/* ---- HERO ART as image placeholder + floating metric cards ---- */
.lin-art-frame { position: absolute; inset: 0; border-radius: 20px; overflow: hidden; box-shadow: var(--sh-lg); }
.lin-art-frame .lin-img-placeholder { position: absolute; inset: 0; border-radius: 20px; }

/* ---- SIDE ROTATION — flip hero & story to alternate left/right ---- */
.lin-hero2.lin-flip .lin-hero2-inner { grid-template-columns: 1fr 1.02fr; }
.lin-hero2.lin-flip .lin-hero2-text { order: 2; }
.lin-hero2.lin-flip .lin-hero2-art { order: 1; }
.lin-story-grid.lin-flip { grid-template-columns: 1fr 1.1fr; }
.lin-story-grid.lin-flip .lin-story-media { order: 2; }
@media (max-width: 1080px) {
  .lin-hero2.lin-flip .lin-hero2-inner { grid-template-columns: 1fr; }
  .lin-hero2.lin-flip .lin-hero2-text { order: 1; }
  .lin-hero2.lin-flip .lin-hero2-art { order: 2; }
  .lin-story-grid.lin-flip { grid-template-columns: 1fr; }
  .lin-story-grid.lin-flip .lin-story-media { order: 1; }
}

/* ---- CAPABILITIES — force a clean 3×2 grid (two rows of three) ---- */
.lin-cards .lin-card,
.lin-cards .lin-card:nth-child(4),
.lin-cards .lin-card:nth-child(5) { grid-column: span 2; }
/* a 7th capability card centers on its own row */
.lin-cards .lin-card:nth-child(7) { grid-column: 3 / span 2; }

.lin-metric-card {
  position: absolute; z-index: 3; background: rgba(255,255,255,.72);
  backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.7); border-radius: 15px; padding: 16px 18px; box-shadow: var(--sh-xl);
}
.lin-metric-card .lin-mc-head { display: flex; align-items: center; gap: 10px; }
.lin-metric-card .lin-mc-ic { width: 32px; height: 32px; border-radius: 9px; background: rgba(24,44,94,.09); color: var(--indigo); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-metric-card .lin-mc-ic.lin-ok { background: rgba(165,205,57,.2); color: var(--moss); }
.lin-metric-card .lin-mc-t { font-size: 13.5px; font-weight: 600; color: var(--ink); letter-spacing: -.005em; }
.lin-metric-card .lin-mc-s { font-size: 12px; color: var(--muted); margin-top: 1px; }
.lin-metric-card .lin-mc-val { font-size: 26px; font-weight: 600; color: var(--ink); letter-spacing: -.02em; margin-top: 12px; }
.lin-metric-card .lin-mc-val .lin-u { font-size: 15px; color: var(--moss); font-weight: 600; margin-left: 4px; }
.lin-metric-card.lin-tl { left: -2%; top: 36px; width: 226px; }
.lin-metric-card.lin-br { right: -1%; bottom: 40px; width: 244px; }

@media (max-width: 1080px) { .lin-metric-card.lin-tl { left: 0; } .lin-metric-card.lin-br { right: 0; } }

/* ---- CAPABILITY cards with photo treatment ---- */
.lin-card.lin-card--photo { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.lin-card.lin-card--photo .lin-card-photo { position: relative; height: 188px; }
.lin-card.lin-card--photo .lin-card-photo .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-card.lin-card--photo .lin-card-body { padding: 30px 34px 36px; }
.lin-card.lin-card--photo .lin-card-body h4 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 11px; }
.lin-card.lin-card--photo .lin-card-body p { font-size: 16px; line-height: 1.5; color: var(--muted); }

/* ---- CUSTOMER SUCCESS STORY ---- */
.lin-story-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 72px; align-items: center; }
.lin-story-media { position: relative; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 4/3; box-shadow: var(--sh-lg); }
.lin-story-media .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-story-eyebrow { display: block; margin-bottom: 22px; }
.lin-story-q { font-size: 32px; font-weight: 400; line-height: 1.28; letter-spacing: -.018em; color: var(--ink); text-wrap: pretty; }
.lin-story-q .lin-em { color: var(--moss); }
.lin-story-by { margin-top: 28px; display: flex; align-items: center; gap: 14px; }
.lin-story-by .lin-av { width: 46px; height: 46px; border-radius: 50%; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; flex-shrink: 0; }
.lin-story-by .lin-who b { display: block; font-size: 15px; font-weight: 600; color: var(--ink); }
.lin-story-by .lin-who span { font-size: 14px; color: var(--muted); }
.lin-story-metrics { margin-top: 40px; display: flex; gap: 44px; border-top: 1px solid var(--line-2); padding-top: 28px; }
.lin-story-metric .lin-v { font-size: 38px; font-weight: 500; letter-spacing: -.02em; color: var(--ink); }
.lin-story-metric .lin-v .lin-pos { color: var(--moss); }
.lin-story-metric .lin-k { font-size: 13.5px; color: var(--muted); margin-top: 4px; max-width: 18ch; }

/* ---- BUSINESS OUTCOMES (metric tiles) ---- */
.lin-outcomes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 60px; }
.lin-outcome { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 36px 32px 34px; box-shadow: var(--sh-sm); }
.lin-outcome .lin-v { font-size: 50px; font-weight: 400; letter-spacing: -.026em; color: var(--ink); line-height: 1; }
.lin-outcome .lin-v .lin-pos { color: var(--moss); }
.lin-outcome .lin-k { margin-top: 16px; font-size: 16px; font-weight: 600; color: var(--ink); letter-spacing: -.006em; }
.lin-outcome .lin-d { margin-top: 7px; font-size: 14.5px; color: var(--muted); line-height: 1.45; }
.lin-sec--indigo .lin-outcome { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.lin-sec--indigo .lin-outcome .lin-v { color: #fff; }
.lin-sec--indigo .lin-outcome .lin-k { color: #fff; }
.lin-sec--indigo .lin-outcome .lin-d { color: rgba(255,255,255,.7); }

@media (max-width: 1080px) {
  .lin-story-grid { grid-template-columns: 1fr; gap: 44px; }
  .lin-story-q { font-size: 26px; }
  .lin-outcomes { grid-template-columns: repeat(2, 1fr); }
  .lin-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .lin-outcomes { grid-template-columns: 1fr; }
  .lin-story-metrics { flex-direction: column; gap: 22px; }
  .lin-metric-card { display: none; }
}

/* ---- CLOSING CTA — animated lime flow lines on indigo ---- */
.lin-close { position: relative; overflow: hidden; }
.lin-close-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.lin-close-flow { width: 100%; height: 100%; }
.lin-pf-path { fill: none; stroke: rgba(165,205,57,.5); stroke-width: 1.7; stroke-dasharray: 4 9; stroke-linecap: round; animation: pfFlow 7s linear infinite; }
@keyframes pfFlow { to { stroke-dashoffset: -300; } }
@media (prefers-reduced-motion: reduce) { .lin-pf-path { animation: none; } }
.lin-close::before {
  content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: min(900px,92vw); height: 460px; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse at center, var(--indigo) 24%, rgba(24,44,94,.7) 52%, rgba(24,44,94,0) 76%);
}
.lin-close .lin-wrap { position: relative; z-index: 2; }

/* ------------------------------------------------------------
   Source: procurement.css
   ------------------------------------------------------------ */

/* ============ page-local: indigo flow-through hero ============ */
.lin-hero-indigo.lin-hero{padding-top:132px;background:var(--indigo);border-bottom:none;}
.lin-hero-indigo .lin-hero-veil{background:radial-gradient(58% 52% at 50% 46%,rgba(24,44,94,.92) 0%,rgba(24,44,94,.45) 55%,rgba(24,44,94,0) 100%),linear-gradient(180deg,rgba(24,44,94,.9) 0%,rgba(24,44,94,0) 24%,rgba(24,44,94,0) 70%,rgba(24,44,94,.95) 100%);}
.lin-hero-indigo .lin-hero-glow{background:radial-gradient(ellipse at center,rgba(36,58,110,.9),rgba(36,58,110,0) 66%);}
.lin-hero-indigo .lin-hero-mask{background:radial-gradient(ellipse at center,#182C5E 26%,rgba(24,44,94,.6) 52%,rgba(24,44,94,0) 80%);}
.lin-hero-indigo .lin-hero-h1{color:#fff;}
.lin-hero-indigo .lin-hero-sub2{color:rgba(255,255,255,.74);max-width:58ch;line-height:1.5;}
.lin-hero-indigo .lin-hf-path{stroke:rgba(165,205,57,.42);}

/* chips become dark glass */
.lin-hnode{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);box-shadow:var(--sh-glass);}
.lin-hnode > i{color:var(--lime);}
.lin-hn-sys .lin-hlabel{color:rgba(255,255,255,.92);}

/* glass run-strip: request -> approval -> payment */
.lin-hero-run{margin-top:30px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:11px 22px;box-shadow:var(--sh-glass);}
.lin-hr-step{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.92);white-space:nowrap;}
.lin-hr-ck{width:17px;height:17px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-hr-ck svg{width:11px;height:11px;color:#1c2a06;}
.lin-hr-arrow svg{width:14px;height:14px;color:rgba(255,255,255,.45);display:block;}
.lin-hr-step.lin-live .lin-d{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:pulse 1.8s ease-out infinite;}

/* alternate section surfaces below the dark hero */
.lin-bento{background:var(--paper);border-top:none;}

/* challenge has four frictions on this page */
.lin-frictions{grid-template-columns:repeat(4,1fr);}
@media(max-width:1280px){.lin-frictions{grid-template-columns:repeat(2,1fr);}}
@media(max-width:980px){.lin-frictions{grid-template-columns:1fr;}}

/* bento media helpers (supplier + visibility cards) */
.lin-au-row svg.lin-src{width:14px;height:14px;color:var(--muted-2);flex-shrink:0;}
.lin-au-row .lin-wait{margin-left:auto;width:18px;height:18px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-au-row .lin-wait svg{width:11px;height:11px;color:var(--muted);}

/* outcomes — dark proof band with a heading */
.lin-proof-head{max-width:680px;margin-bottom:56px;text-align:center;margin-left:auto;margin-right:auto;}
.lin-proof-head h2{font-weight:400;font-size:46px;line-height:1.06;letter-spacing:-.024em;margin-top:16px;color:#fff;}
.lin-proof .lin-st-l b{color:#fff;font-weight:600;}

/* testimonial: media flipped to the right side */
.lk-story{border-top:1px solid var(--line);}
.lk-story-inner.lin-flip{grid-template-columns:1fr 300px;}
.lk-story-media .lin-img-placeholder{position:absolute;inset:0;border:none;}
.lk-story-media .lin-badge svg{width:15px;height:15px;color:var(--moss);}
@media (max-width:1080px){.lk-story-inner.lin-flip{grid-template-columns:1fr;}}

/* final CTA carries the closing line */
.lin-final-inner p{margin-top:24px;font-size:18px;color:var(--muted);max-width:54ch;line-height:1.5;text-wrap:pretty;}

@media(max-width:980px){
  .lin-hero-run{flex-wrap:wrap;justify-content:center;border-radius:24px;}
}

/* ============================================================
   SPLIT SECTIONS — image + animated live card beside white cards
   ============================================================ */
.lin-problem.lin-split .lin-page{text-align:left;}
.lin-problem.lin-split .lin-problem-stmt{margin-left:0;margin-right:0;max-width:760px;font-size:40px;line-height:1.12;}
.lin-pillars.lin-split .lin-pillars-grid{display:block;}
.lin-sp-head{max-width:760px;}
.lin-sp-head h2{font-weight:400;font-size:40px;line-height:1.1;letter-spacing:-.022em;margin-top:18px;color:var(--ink);text-wrap:balance;}
.lin-sp-head h2 .lin-soft{color:var(--muted);}
.lin-sp-head p{margin-top:18px;font-size:17px;line-height:1.55;color:var(--muted);max-width:520px;}
.lin-sp-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch;margin-top:52px;}
.lin-sp-cards{display:flex;flex-direction:column;gap:20px;justify-content:center;}
.lin-sp-cards--grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:center;}
.lin-sp-media{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#23272e;box-shadow:var(--sh-lg);min-height:560px;}
.lin-sp-media image-slot{position:absolute;inset:0;display:block;width:100%;height:100%;}
.lin-sp-tint{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top right,rgba(13,15,22,.72) 0%,rgba(13,15,22,.30) 42%,rgba(13,15,22,.06) 72%,transparent 100%);}
.lin-sp-dash-wrap{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding:26px;pointer-events:none;}
.lin-problem.lin-split .lin-sp-dash-wrap{justify-content:flex-end;}
.lin-pillars.lin-split .lin-sp-dash-wrap{justify-content:flex-start;}
.lin-sp-dash{width:300px;background:#fff;border-radius:16px;padding:18px 18px 14px;box-shadow:0 28px 64px -20px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.12);font-family:var(--sans);color:var(--ink);opacity:0;transform:translateY(22px) scale(.98);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.lin-sp-media.lin-is-active .lin-sp-dash{opacity:1;transform:none;transition-delay:.1s;}
.lin-sp-dash-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;}
.lin-sp-dash-tag{font-size:10.5px;color:var(--muted-2);font-weight:500;}
.lin-sp-dash-title{font-size:15px;font-weight:700;letter-spacing:-.01em;margin-top:2px;color:var(--ink);}
.lin-sp-live{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:10.5px;font-weight:700;color:var(--moss);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 9px;}
.lin-sp-live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);animation:spPulse 2s var(--ease) infinite;}
.lin-sp-badge{width:28px;height:28px;border-radius:9px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--moss);}
.lin-sp-badge svg{width:16px;height:16px;}
.lin-sp-steps{display:flex;align-items:flex-start;margin:4px 0 16px;}
.lin-sp-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;}
.lin-sp-step+.lin-sp-step::before{content:"";position:absolute;top:11px;right:calc(50% + 12px);width:calc(100% - 24px);height:2px;background:var(--line);}
.lin-sp-step.lin-done::before,.lin-sp-step.lin-now::before{background:var(--lime)!important;}
.lin-sp-node{width:24px;height:24px;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;position:relative;z-index:1;}
.lin-sp-step.lin-done .lin-sp-node{background:var(--lime);color:#1c2a06;}
.lin-sp-step.lin-now .lin-sp-node{background:var(--moss);}
.lin-sp-step span:last-child{font-size:9.5px;color:var(--muted-2);white-space:nowrap;}
.lin-sp-step.lin-done span:last-child,.lin-sp-step.lin-now span:last-child{color:var(--moss);}
.lin-sp-log{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:12px;}
.lin-sp-log-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:5px 0;font-size:11.5px;color:var(--ink-2);opacity:0;transform:translateX(7px);}
.lin-sp-media.lin-is-active .lin-sp-log-row{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(.4s + var(--i,0)*.12s);}
.lin-sp-log-row time{color:var(--muted-2);font-variant-numeric:tabular-nums;}
.lin-sp-log-row svg{width:14px;height:14px;color:var(--moss);justify-self:end;}
.lin-sp-metric{display:flex;align-items:baseline;gap:8px;}
.lin-sp-metric-v{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink);}
.lin-sp-metric-u{font-size:11.5px;color:var(--muted);}
.lin-sp-bar{margin-top:11px;height:5px;border-radius:999px;background:var(--line);overflow:hidden;}
.lin-sp-fill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--moss),var(--lime));transition:width 5s var(--ease);}
.lin-sp-media.lin-is-active .lin-sp-fill{width:var(--w);transition-delay:.35s;}
.lin-sp-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.lin-sp-stats>div{display:flex;flex-direction:column;gap:2px;}
.lin-sp-stat-v{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink);}
.lin-sp-stat-v.lin-moss{color:var(--moss);}
.lin-sp-stat-k{font-size:10.5px;color:var(--muted-2);}
.lin-sp-rows{display:flex;flex-direction:column;}
.lin-sp-row-li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:5px 0;font-size:11.5px;color:var(--ink-2);opacity:0;transform:translateX(7px);}
.lin-sp-media.lin-is-active .lin-sp-row-li{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(.45s + var(--i,0)*.12s);}
.lin-sp-row-li>svg{width:15px;height:15px;color:var(--moss);}
.lin-sp-tag{font-size:10px;font-weight:700;justify-self:end;color:var(--muted-2);}
.lin-sp-tag.lin-ok{color:var(--moss);}
.lin-sp-foot{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);}
.lin-sp-foot-av{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:var(--indigo);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.lin-sp-foot-txt{font-size:11px;color:var(--muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lin-sp-foot-txt b{color:var(--ink);}
.lin-sp-foot-live{font-size:10px;font-weight:700;color:var(--moss);flex-shrink:0;}
@keyframes spPulse{0%{box-shadow:0 0 0 0 rgba(165,205,57,.5);}70%{box-shadow:0 0 0 7px rgba(165,205,57,0);}100%{box-shadow:0 0 0 0 rgba(165,205,57,0);}}

/* ------------------------------------------------------------
   Source: knowledge.css
   ------------------------------------------------------------ */
/* ============ page-local: oatmeal hero variant + section rhythm ============ */
.lin-hero{padding-top:132px;background:var(--surface);}
.lin-hero-veil{background:radial-gradient(58% 52% at 50% 46%,rgba(250,248,246,.92) 0%,rgba(250,248,246,.55) 55%,rgba(250,248,246,0) 100%),linear-gradient(180deg,rgba(250,248,246,.9) 0%,rgba(250,248,246,0) 24%,rgba(250,248,246,0) 70%,rgba(250,248,246,.95) 100%);}
.lin-hero-glow{background:radial-gradient(ellipse at center,rgba(250,248,246,.95),rgba(250,248,246,0) 66%);}
.lin-hero-mask{background:radial-gradient(ellipse at center,#FAF8F6 26%,rgba(250,248,246,.6) 52%,rgba(250,248,246,0) 80%);}
.lin-hero-sub2{max-width:58ch;line-height:1.5;}

/* frosted Q&A card — the grounded-answer primitive, under the headline */
.lin-hero-ask{margin-top:30px;background:rgba(255,255,255,.62);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.85);border-radius:16px;box-shadow:var(--sh-md);min-width:400px;text-align:left;}
.lin-ha-q{display:flex;align-items:center;gap:10px;padding:13px 18px;font-size:14.5px;font-weight:600;color:var(--ink);}
.lin-ha-q svg{width:16px;height:16px;color:var(--moss);flex-shrink:0;}
.lin-ha-a{display:flex;align-items:center;gap:9px;padding:12px 18px;border-top:1px solid rgba(21,21,19,.08);font-size:13.5px;color:var(--muted);}
.lin-ha-ck{width:18px;height:18px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-ha-ck svg{width:12px;height:12px;color:#1c2a06;}

/* alternate section surfaces against the oatmeal hero */
.lin-bento{background:var(--paper);border-top:none;}

/* challenge has four frictions on this page */
.lin-frictions{grid-template-columns:repeat(4,1fr);}
@media(max-width:1280px){.lin-frictions{grid-template-columns:repeat(2,1fr);}}
@media(max-width:980px){.lin-frictions{grid-template-columns:1fr;}}

/* cited-answer + permissions card media (bento) */
.lin-cite-q{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--ink);padding-bottom:11px;border-bottom:1px solid var(--line);}
.lin-cite-q svg{width:15px;height:15px;color:var(--moss);flex-shrink:0;}
.lin-au-row svg.lin-src{width:14px;height:14px;color:var(--muted-2);flex-shrink:0;}
.lin-au-row .lin-lock{margin-left:auto;width:18px;height:18px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lin-au-row .lin-lock svg{width:11px;height:11px;color:var(--muted);}

/* outcomes — dark proof band with a heading */
.lin-proof-head{max-width:680px;margin-bottom:56px;text-align:center;margin-left:auto;margin-right:auto;}
.lin-proof-head h2{font-weight:400;font-size:46px;line-height:1.06;letter-spacing:-.024em;margin-top:16px;color:#fff;}
.lin-proof .lin-st-l b{color:#fff;font-weight:600;}

/* testimonial: media flipped to the right side */
.lin-success-story{border-top:1px solid var(--line);}
.lin-story-inner.lin-flip{grid-template-columns:1fr 300px;}
.lin-story-media .lin-img-placeholder{position:absolute;inset:0;border:none;}
.lin-story-media .lin-badge svg{width:15px;height:15px;color:var(--moss);}
@media (max-width:1080px){.lin-story-inner.lin-flip{grid-template-columns:1fr;}}

/* final CTA carries the closing line */
.lin-final-inner p{margin-top:24px;font-size:18px;color:var(--muted);max-width:54ch;line-height:1.5;text-wrap:pretty;}

/* split section — knowledge-specific overrides (base rules in home.css) */
.lin-sp-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;}
.lin-sp-tag{color:var(--muted-2);}

/* ============================================================
   Expert Teams page — section styles
   Built on colors_and_type.css + kit.css + page.css (shared
   hero/section scaffolding: .pa-hero2, .pa-sec, .pa-wrap, .pa-head, .pa-h2).
   Surfaces: white (default), oatmeal, indigo. Lime stays precious.
   ============================================================ */

/* ---- nav active state ---- */
.lin-lk-nav-item.lin-is-active .lin-lk-nav-link { color: var(--ink); }

/* ============================================================
   HERO BACKGROUND COMPOSITION
   Layered: gradient wash · drifting glows · blueprint dot-grid ·
   animated connector network. Theme: disciplines connecting into
   one team. All decorative + reduced-motion safe.
   ============================================================ */
.lin-pa-hero2 { position: relative; overflow: hidden; isolation: isolate; }
.lin-pa-hero2 > .lin-pa-hero2-inner,
.lin-pa-hero2 > .lin-et-hero-strip { position: relative; z-index: 2; }

.lin-et-hero-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }

/* base wash — white at top fading to a faint warm tint that hands off to the oatmeal Overview */
.lin-et-hero-bg .wash {
  position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 88% 8%, rgba(165,205,57,.10), transparent 55%),
    radial-gradient(90% 80% at 6% 92%, rgba(24,44,94,.07), transparent 60%),
    linear-gradient(to bottom, #fff 0%, #fff 58%, var(--paper) 100%);
}

/* blueprint dot-grid — very faint, fades out toward center/bottom */
.lin-et-hero-bg .lin-grid {
  position: absolute; inset: -2px;
  background-image: radial-gradient(circle, var(--line-2) 1.1px, transparent 1.2px);
  background-size: 34px 34px;
  opacity: .42;
  -webkit-mask-image: radial-gradient(120% 78% at 76% 18%, #000 0%, transparent 64%);
  mask-image: radial-gradient(120% 78% at 76% 18%, #000 0%, transparent 64%);
}

/* drifting soft glows */
.lin-et-hero-bg .glow { position: absolute; border-radius: 50%; filter: blur(60px); will-change: transform; }
.lin-et-hero-bg .glow.g1 { width: 460px; height: 460px; right: 4%; top: -120px; background: radial-gradient(circle, rgba(165,205,57,.30), transparent 70%); animation: et-glow1 18s ease-in-out infinite; }
.lin-et-hero-bg .glow.g2 { width: 520px; height: 520px; left: -120px; bottom: -180px; background: radial-gradient(circle, rgba(24,44,94,.16), transparent 70%); animation: et-glow2 22s ease-in-out infinite; }
@keyframes et-glow1 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-36px,28px) scale(1.08); } }
@keyframes et-glow2 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(40px,-30px) scale(1.06); } }

/* connector network SVG — confined to the right (gallery side), fades out over the text */
.lin-et-hero-bg .net { position: absolute; inset: 0; width: 100%; height: 100%;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 42%, #000 60%);
  mask-image: linear-gradient(to right, transparent 0%, transparent 42%, #000 60%); }
.lin-et-hero-bg .net .link { fill: none; stroke: var(--line-2); stroke-width: 1.4; }
.lin-et-hero-bg .net .link.dash { stroke-dasharray: 3 7; stroke-linecap: round; opacity: .8; }
.lin-et-hero-bg .net .node { fill: #fff; stroke: var(--line-2); stroke-width: 1.4; }
.lin-et-hero-bg .net .node.lime { stroke: var(--lime); }
.lin-et-hero-bg .net .node-core { fill: var(--moss); }
.lin-et-hero-bg .net .node-core.lime { fill: var(--lime); }
.lin-et-hero-bg .net .pulse { fill: var(--lime); }

/* traveling pulses along the links (offset-path) */
.lin-et-hero-bg .net .pulse { offset-rotate: 0deg; animation: et-pulse 4.5s linear infinite; }
.lin-et-hero-bg .net .pulse.p1 { offset-path: path("M 1180 150 C 1090 150, 1040 250, 940 250"); }
.lin-et-hero-bg .net .pulse.p2 { offset-path: path("M 940 250 C 840 250, 820 400, 720 400"); animation-delay: 1.4s; }
.lin-et-hero-bg .net .pulse.p3 { offset-path: path("M 1300 360 C 1230 360, 1200 250, 1130 250"); animation-delay: 2.6s; }
@keyframes et-pulse { 0% { offset-distance: 0%; opacity: 0; } 12% { opacity: 1; } 80% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .lin-et-hero-bg .glow, .lin-et-hero-bg .net .pulse { animation: none; }
  .lin-et-hero-bg .net .pulse { display: none; }
}

/* ============================================================
   HERO — teams collage on the right
   (reuses .pa-hero2 / .pa-hero2-inner / .pa-hero2-h1 / .pa-hero2-sub)
   ============================================================ */
.lin-et-hero-art { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-content: center; }
.lin-et-gcol { display: flex; flex-direction: column; gap: 22px; }
.lin-et-gcol.offset { margin-top: 52px; }

.lin-et-gcard {
  position: relative; border-radius: 20px; overflow: hidden;
  aspect-ratio: 1 / 1;
  box-shadow: var(--sh-lg); background: #e3e2df;
  opacity: 0; transform: translateY(26px) scale(.985);
  animation: et-gcard-in .8s var(--ease) forwards;
}
@media (prefers-reduced-motion: reduce) { .lin-et-gcard { animation: none; opacity: 1; transform: none; } }
@keyframes et-gcard-in { to { opacity: 1; transform: none; } }

.lin-et-gcard image-slot { display: block; width: 100%; height: 100%; }
/* the dropped photo gently scales on hover */
.lin-et-gcard::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: linear-gradient(to top, rgba(20,22,28,.52) 0%, rgba(20,22,28,.12) 38%, transparent 64%);
  opacity: .9; transition: opacity .4s var(--ease);
}
.lin-et-gcard:hover { box-shadow: var(--sh-xl); }
.lin-et-gcard:hover::after { opacity: 1; }

/* discipline badge over each photo */
.lin-et-gbadge {
  position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 3;
  display: flex; align-items: center; gap: 11px; pointer-events: none;
  background: rgba(255,255,255,.82); backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  border: 1px solid rgba(255,255,255,.7); border-radius: 13px; padding: 9px 12px;
  box-shadow: 0 6px 18px rgba(20,22,28,.18);
  transform: translateY(6px); opacity: 0;
  animation: et-gbadge-in .6s var(--ease) forwards;
}
@media (prefers-reduced-motion: reduce) { .lin-et-gbadge { animation: none; opacity: 1; transform: none; } }
@keyframes et-gbadge-in { to { opacity: 1; transform: none; } }
.lin-et-gbadge-ic {
  width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-2); color: var(--moss);
  border: 1.5px solid #fff; box-shadow: 0 2px 6px rgba(20,22,28,.14);
}
.lin-et-gbadge-ic.lin-indigo { background: rgba(24,44,94,.12); color: var(--indigo); }
.lin-et-gbadge-ic.lin-lime { background: rgba(165,205,57,.22); color: var(--moss); }
.lin-et-gbadge-txt { min-width: 0; display: block; }
.lin-et-gbadge-name { display: block; font-size: 13.5px; font-weight: 600; color: var(--ink); letter-spacing: -.006em; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lin-et-gbadge-role { display: block; font-size: 11.5px; color: var(--moss); font-weight: 600; margin-top: 1px; letter-spacing: -.002em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* floating "one team" chip, top-right */
.lin-et-gchip {
  position: absolute; top: 16px; right: 16px; z-index: 4;
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.9); backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px; padding: 7px 13px 7px 11px; box-shadow: 0 6px 18px rgba(20,22,28,.16);
  font-size: 12px; font-weight: 600; color: var(--ink); letter-spacing: -.003em; white-space: nowrap;
  opacity: 0; animation: et-gbadge-in .6s var(--ease) .9s forwards;
}
.lin-et-gchip .lin-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 3px rgba(165,205,57,.22); }

/* hero discipline strip (replaces generic feature strip) */
.lin-et-hero-strip { max-width: 1640px; margin: 72px auto 0; padding: 0 56px; }
.lin-et-strip-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.lin-pa-sec--oatmeal .lin-et-strip-panel--overview { background: #fff; }
.lin-et-strip-panel--overview { margin-top: 56px; }
.lin-et-strip-item { display: flex; gap: 16px; align-items: flex-start; padding: 6px 36px; border-left: 1px solid var(--line); }
.lin-et-strip-item:first-child { border-left: none; }
.lin-et-strip-ic { width: 44px; height: 44px; border-radius: 11px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--moss); flex-shrink: 0; box-shadow: var(--sh-sm); }
.lin-et-strip-item h5 { font-size: 17px; font-weight: 600; color: var(--ink); margin-bottom: 6px; letter-spacing: -.006em; }
.lin-et-strip-item p { font-size: 14px; color: var(--muted); line-height: 1.46; }
.lin-et-strip-tag { margin: 22px auto 0; max-width: 1640px; padding: 0 56px; }
.lin-et-strip-tag .lin-t { font-size: 19px; color: var(--ink-2); letter-spacing: -.008em; }
.lin-et-strip-tag .lin-t .lin-em { color: var(--moss); font-weight: 600; }

/* ----- explore category cards — image on top, jump to each team ----- */
.lin-et-explore-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 56px; }
.lin-et-explore-card {
  position: relative; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-sm);
  transition: box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.lin-et-explore-card:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); border-color: var(--line-2); }

.lin-et-explore-media { position: relative; aspect-ratio: 4 / 3; background: #e3e2df; overflow: hidden; }
.lin-et-explore-media image-slot { display: block; width: 100%; height: 100%; }
.lin-et-explore-num {
  position: absolute; top: 14px; left: 16px; z-index: 3;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #fff;
  font-variant-numeric: tabular-nums; background: rgba(20, 22, 28, .55);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  padding: 5px 11px; border-radius: 999px; pointer-events: none;
}

.lin-et-explore-action {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0 16px;
  text-align: left; font: inherit; cursor: pointer; width: 100%; flex: 1;
  background: transparent; border: none; padding: 24px 24px 26px;
}
.lin-et-explore-action:focus-visible { outline: 2px solid var(--moss); outline-offset: -3px; }
.lin-et-explore-ic {
  grid-column: 1; align-self: start; width: 44px; height: 44px; border-radius: 11px;
  background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center;
  transition: background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.lin-et-explore-card:hover .lin-et-explore-ic { transform: scale(1.06); }
.lin-et-explore-body { grid-column: 2; display: block; }
.lin-et-explore-h {
  display: block; font-size: 20px; font-weight: 600; color: var(--ink);
  letter-spacing: -.01em; margin-bottom: 6px; transition: color .25s var(--ease);
}
.lin-et-explore-action:hover .lin-et-explore-h { color: var(--moss); }
.lin-et-explore-p { display: block; font-size: 14px; color: var(--muted); line-height: 1.5; }
.lin-et-explore-go {
  grid-column: 3; align-self: center; width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: var(--muted-2);
  background: var(--surface); border: 1px solid var(--line);
  transition: transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.lin-et-explore-card:hover .lin-et-explore-go { background: var(--lime); color: var(--ink); border-color: var(--lime); transform: translateX(3px); }

/* gentle scroll-target offset so headers aren't hidden under nav */
.lin-pa-sec[id] { scroll-margin-top: 72px; }

/* ============================================================
   OVERVIEW band + metric strip
   ============================================================ */
.lin-et-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 88px; align-items: start; }
.lin-et-overview-grid .lin-et-ov-body p { font-size: 19px; line-height: 1.55; color: var(--muted); }
.lin-et-overview-grid .lin-et-ov-body p + p { margin-top: 20px; }
.lin-et-overview-grid .lin-et-ov-body p .lin-em { color: var(--ink); font-weight: 500; }

.lin-et-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 64px; border-top: 1px solid var(--line-2); }
.lin-et-metric { padding: 34px 36px 4px 0; border-right: 1px solid var(--line); }
.lin-et-metric:last-child { border-right: none; padding-right: 0; }
.lin-et-metric .lin-v { font-size: 50px; font-weight: 400; letter-spacing: -.028em; color: var(--indigo); line-height: 1; }
.lin-et-metric .lin-v .lin-u { color: var(--lime); }
.lin-et-metric .lin-l { margin-top: 14px; font-size: 15px; color: var(--muted); line-height: 1.45; max-width: 24ch; }

/* ============================================================
   TEAM PILLAR sections
   ============================================================ */
.lin-et-team-head { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: start; max-width: 1080px; }
.lin-et-team-num { font-size: 86px; font-weight: 300; line-height: .9; letter-spacing: -.04em; color: var(--line-2); font-variant-numeric: tabular-nums; }
.lin-pa-sec--oatmeal .lin-et-team-num { color: #DEDCD6; }
.lin-et-team-headtext .lin-lk-eyebrow { display: block; margin-bottom: 14px; }
.lin-et-team-headtext .lin-pa-h2 { max-width: 18ch; }
.lin-et-team-lead { margin-top: 24px; max-width: 760px; }
.lin-et-team-lead p { font-size: 19px; line-height: 1.55; color: var(--muted); }
.lin-et-team-lead p + p { margin-top: 16px; }

.lin-et-subhead { display: flex; align-items: center; gap: 14px; margin: 0 0 28px; font-size: 13px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--moss); }
.lin-et-subhead::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.lin-et-subhead.lin-sm { font-size: 11.5px; letter-spacing: .08em; margin: 0 0 16px; }

/* ----- Split-index team body (Option B): media + concise content ----- */
.lin-et-tb { display: grid; grid-template-columns: minmax(0, 460px) 1fr; gap: 64px; align-items: start; margin-top: 56px; }
.lin-et-tb.flip { grid-template-columns: 1fr minmax(0, 460px); }
.lin-et-tb.flip .lin-et-tb-media { order: 2; }

.lin-et-tb-media { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 1 / 1; box-shadow: var(--sh-lg); background: #e3e2df; }
.lin-et-tb-media image-slot { display: block; width: 100%; height: 100%; }
.lin-et-tb-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2; background: linear-gradient(to top, rgba(20,22,28,.5) 0%, rgba(20,22,28,.1) 36%, transparent 60%); }

/* very small expertise tags */
.lin-et-tags-sm { display: flex; flex-wrap: wrap; gap: 7px; }
.lin-et-tags-sm span { font-size: 12px; color: var(--ink-2); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 5px 11px; letter-spacing: -.003em; transition: border-color .2s var(--ease), color .2s var(--ease); }
.lin-pa-sec--oatmeal .lin-et-tags-sm span { background: #fff; }
.lin-et-tags-sm span:hover { border-color: var(--line-2); color: var(--ink); }

/* compact numbered initiative rows */
.lin-et-rows-sm { display: flex; flex-direction: column; }
.lin-et-row-sm { display: grid; grid-template-columns: 26px 1fr; gap: 16px; padding: 15px 0; border-top: 1px solid var(--line); align-items: start; }
.lin-et-row-sm:last-child { border-bottom: 1px solid var(--line); }
.lin-et-row-sm .lin-n { font-size: 12px; font-weight: 600; color: var(--moss); font-variant-numeric: tabular-nums; padding-top: 2px; }
.lin-et-row-sm h4 { font-size: 15px; font-weight: 600; letter-spacing: -.008em; color: var(--ink); margin-bottom: 4px; line-height: 1.25; }
.lin-et-row-sm p { font-size: 13px; line-height: 1.5; color: var(--muted); max-width: 56ch; }

.lin-et-team-body { margin-top: 64px; }

/* expertise icon-chip grid */
.lin-et-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lin-et-chip { display: flex; align-items: center; gap: 13px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 16px 18px; box-shadow: var(--sh-sm); transition: box-shadow .24s var(--ease), transform .24s var(--ease), border-color .24s var(--ease); }
.lin-pa-sec--oatmeal .lin-et-chip { background: #fff; }
.lin-et-chip:hover { box-shadow: var(--sh-md); transform: translateY(-2px); border-color: var(--line-2); }
.lin-et-chip-ic { width: 36px; height: 36px; border-radius: 9px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-et-chip-t { font-size: 15.5px; font-weight: 600; color: var(--ink); letter-spacing: -.006em; line-height: 1.25; }

/* typical initiatives cards */
.lin-et-inits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.lin-et-inits.lin-cols5 { grid-template-columns: repeat(5, 1fr); }
.lin-et-inits.lin-cols5 .lin-et-init { padding: 28px 24px; }
.lin-et-init { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 28px; box-shadow: var(--sh-sm); transition: box-shadow .28s var(--ease), transform .28s var(--ease); display: flex; flex-direction: column; }
.lin-pa-sec--oatmeal .lin-et-init { background: #fff; }
.lin-et-init:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.lin-et-init-ic { width: 46px; height: 46px; border-radius: 11px; background: var(--surface); border: 1px solid var(--line); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.lin-et-init h4 { font-size: 19px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 10px; line-height: 1.2; }
.lin-et-init p { font-size: 15px; line-height: 1.5; color: var(--muted); }

/* indigo inset panel (Enterprise AI requires more than models) */
.lin-et-inset { margin-top: 64px; background: var(--indigo); border-radius: var(--r-xl); padding: 56px 56px; color: #fff; display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.lin-et-inset-h { font-size: 32px; font-weight: 400; letter-spacing: -.018em; line-height: 1.12; color: #fff; }
.lin-et-inset-h .lin-dot { color: var(--lime); }
.lin-et-inset-sub { margin-top: 18px; font-size: 16px; line-height: 1.55; color: rgba(255,255,255,.74); max-width: 42ch; }
.lin-et-inset-list { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 44px; }
.lin-et-inset-item { display: flex; align-items: center; gap: 13px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.16); font-size: 16px; color: rgba(255,255,255,.92); letter-spacing: -.004em; }
.lin-et-inset-item .ck { width: 24px; height: 24px; border-radius: 7px; background: rgba(165,205,57,.18); color: var(--lime); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* ============================================================
   HOW WE ENGAGE — engagement model cards
   ============================================================ */
.lin-et-engage { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 60px; }
.lin-et-eng-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 30px; box-shadow: var(--sh-sm); transition: box-shadow .28s var(--ease), transform .28s var(--ease); display: flex; flex-direction: column; }
.lin-pa-sec--oatmeal .lin-et-eng-card { background: #fff; }
#engage .lin-et-eng-card:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.lin-et-eng-ic { width: 52px; height: 52px; border-radius: 13px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 26px; }
.lin-et-eng-num { font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--muted-2); margin-bottom: 12px; }
.lin-et-eng-card h4 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 12px; line-height: 1.18; }
.lin-et-eng-card p { font-size: 15px; line-height: 1.52; color: var(--muted); }

/* ============================================================
   WHY LINNOVATE — reason rows
   ============================================================ */
.lin-et-why-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 88px; align-items: start; }
.lin-et-why-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.lin-et-why-item { padding: 30px 0; border-top: 1px solid var(--line-2); }
.lin-et-why-item .h { display: flex; align-items: center; gap: 13px; font-size: 19px; font-weight: 600; color: var(--ink); letter-spacing: -.008em; margin-bottom: 12px; }
.lin-et-why-item .h .lin-ic { width: 34px; height: 34px; border-radius: 9px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-et-why-item p { font-size: 15px; line-height: 1.55; color: var(--muted); }

/* ============================================================
   TWEAK HOOKS — headline scale (--h-scale) + tint toggle
   (loaded after page.css so these win; responsive preserved)
   ============================================================ */
.lin-pa-hero2-h1 { font-size: calc(74px * var(--h-scale, 1)); }
.lin-pa-h2 { font-size: calc(50px * var(--h-scale, 1)); }
.lin-pa-cta .lin-pa-h2 { font-size: calc(60px * var(--h-scale, 1)); }
.lin-no-tint .lin-pa-sec--oatmeal { background: var(--paper); }

@media (max-width: 1080px) {
  .lin-pa-hero2-h1 { font-size: calc(52px * var(--h-scale, 1)); }
  .lin-pa-h2 { font-size: calc(40px * var(--h-scale, 1)); }
  .lin-pa-cta .lin-pa-h2 { font-size: calc(44px * var(--h-scale, 1)); }
}
@media (max-width: 620px) {
  .lin-pa-hero2-h1 { font-size: calc(40px * var(--h-scale, 1)); }
  .lin-pa-h2 { font-size: calc(33px * var(--h-scale, 1)); }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1080px) {
  .lin-pa-wrap { padding-left: 32px; padding-right: 32px; }
  .lin-et-hero-art { max-width: 600px; }
  .lin-et-hero-strip { padding-left: 32px; padding-right: 32px; }
  .lin-et-strip-panel { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
  .lin-et-strip-item { border-left: none; padding: 14px 28px; }
  .lin-et-strip-tag { padding-left: 32px; padding-right: 32px; }
  .lin-et-overview-grid, .lin-et-why-grid { grid-template-columns: 1fr; gap: 40px; }
  .lin-et-explore-grid { grid-template-columns: 1fr; gap: 16px; }
  .lin-et-team-head { grid-template-columns: 1fr; gap: 16px; }
  .lin-et-team-num { font-size: 62px; }
  .lin-et-tb, .lin-et-tb.flip { grid-template-columns: 1fr; gap: 36px; }
  .lin-et-tb.flip .lin-et-tb-media { order: 0; }
  .lin-et-tb-media { max-width: 460px; }
  .lin-et-chips { grid-template-columns: 1fr 1fr; }
  .lin-et-inits, .lin-et-inits.lin-cols5 { grid-template-columns: 1fr 1fr; }
  .lin-et-inset { grid-template-columns: 1fr; gap: 36px; padding: 44px 40px; }
  .lin-et-engage { grid-template-columns: 1fr 1fr; }
  .lin-et-metrics { grid-template-columns: 1fr; }
  .lin-et-metric { border-right: none; border-bottom: 1px solid var(--line); padding: 26px 0; }
  .lin-et-metric:last-child { border-bottom: none; }
}
@media (max-width: 620px) {
  .lin-et-hero-art { display: none; }
  .lin-et-chips, .lin-et-inits, .lin-et-engage, .lin-et-inset-list, .lin-et-why-list { grid-template-columns: 1fr; }
  .lin-et-inits.lin-cols5 { grid-template-columns: 1fr; }
  .lin-et-inset-item:nth-child(2) { border-top: none; }
}

.lin-pa-head { max-width: 780px; }
.lin-pa-head .lin-lk-eyebrow { display: block; margin-bottom: 18px; }
.lin-pa-wrap { max-width: 1640px; margin: 0 auto; padding: 0 56px; }
.lin-pa-sec { padding: 120px 0; }
.lin-pa-sec--oatmeal { background: var(--oatmeal); }
.lin-pa-sec--indigo  { background: var(--indigo); color: #fff; }

/* ============================================================
   Industry template — section styles
   Used by all 7 industry pages. Full-bleed photo hero (dark),
   then white/oatmeal/indigo sections reusing pa- scaffolding.
   Built on colors_and_type.css + kit.css + product.css.
   ============================================================ */

/* ---- HERO: full-bleed editorial photo, protection gradient, white text ---- */
.lin-in-hero {
  position: relative !important;
  min-height: 73vh !important;
  height: 73vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  overflow: hidden;
  background: #23272e;
}
.lin-in-hero-photo { position: absolute; inset: 0; z-index: 0; }
.lin-in-hero-photo .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-in-hero-tint {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(to top, rgba(15,17,21,.86) 0%, rgba(15,17,21,.36) 42%, rgba(15,17,21,.16) 70%, rgba(15,17,21,.42) 100%),
    linear-gradient(to right, rgba(15,17,21,.6) 0%, rgba(15,17,21,.12) 52%, transparent 80%);
}
.lin-in-hero-inner {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  z-index: 2;
  max-width: 1640px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  width: 100%;
  padding: 0 56px 92px !important;
  box-sizing: border-box;
}
.lin-in-hero .lin-lk-eyebrow.on-dark { display: inline-flex; margin-bottom: 22px; }
.lin-in-hero-h1 { font-weight: 400; font-size: 76px; line-height: 1.02; letter-spacing: -.032em; color: #fff; max-width: 16ch; text-wrap: balance; }
.lin-in-hero-h1 .lin-dot { color: var(--lime); }
.lin-in-hero-sub { margin-top: 26px; font-size: 22px; line-height: 1.5; color: rgba(255,255,255,.84); max-width: 620px; }
.lin-in-hero-cta { display: flex; gap: 14px; margin-top: 38px; flex-wrap: wrap; }
.lin-in-hero .lin-lk-eyebrow.on-dark { color: rgba(255,255,255,.7); }
/* ---- TRUSTED BY ---- */
.lin-in-trust { background: var(--paper); border-bottom: 1px solid var(--line); }
.lin-in-trust-inner { max-width: 1640px; margin: 0 auto; padding: 46px 56px; display: flex; align-items: center; gap: 48px; flex-wrap: wrap; }
.lin-in-trust-lbl { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); }
.lin-in-trust-row { display: flex; gap: 36px; flex-wrap: wrap; align-items: center; flex: 1; }
.lin-in-trust-item { display: flex; align-items: center; gap: 10px; color: var(--ink-2); font-size: 15px; font-weight: 600; letter-spacing: -.004em; }
.lin-in-trust-item .lin-lic { color: var(--moss); }

/* ---- CHALLENGES (oatmeal) — cards ---- */
.lin-pa-sec { padding: 120px 0; }
.lin-pa-sec--oatmeal { background: var(--oatmeal); }
.lin-pa-sec--indigo  { background: var(--indigo); color: #fff; }
.lin-pa-wrap { max-width: 1640px; margin: 0 auto; padding: 0 56px; }

.lin-pa-head { max-width: 780px; }
.lin-pa-head .lin-lk-eyebrow { display: block; margin-bottom: 18px; }
.lin-pa-h2 { font-weight: 400; font-size: 50px; line-height: 1.05; letter-spacing: -.025em; color: var(--ink); }
.lin-pa-sec--indigo .lin-pa-h2 { color: #fff; }
.lin-pa-h2 .lin-dot { color: var(--lime); }
.lin-pa-lead { margin-top: 22px; font-size: 21px; line-height: 1.5; color: var(--muted); max-width: 680px; }
.lin-pa-sec--indigo .lin-pa-lead { color: rgba(255,255,255,.78); }

.lin-in-chal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 60px; }
.lin-in-chal-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 32px; box-shadow: var(--sh-sm); }
.lin-in-chal-ic { width: 50px; height: 50px; border-radius: 12px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.lin-in-chal-card h4 { font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 10px; }
.lin-in-chal-card p { font-size: 15.5px; line-height: 1.5; color: var(--muted); }

/* ---- USE CASES (white) — mixed cards, some photo ---- */
.lin-in-uses { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; margin-top: 60px; }
.lin-in-use { grid-column: span 2; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 32px; box-shadow: var(--sh-sm); transition: box-shadow .28s var(--ease), transform .28s var(--ease); }
.lin-in-use:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.lin-in-use-ic { width: 50px; height: 50px; border-radius: 12px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.lin-in-use h4 { font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 10px; }
.lin-in-use p { font-size: 15.5px; line-height: 1.5; color: var(--muted); }
.lin-in-use.is-photo { grid-column: span 3; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
/* Use Cases: force a clean 3×2 grid (two rows of three) regardless of photo cards */
.lin-in-uses .lin-in-use, .lin-in-uses .lin-in-use.is-photo { grid-column: span 2; }
.lin-in-use.is-photo .lin-in-use-photo { position: relative; height: 200px; }
.lin-in-use.is-photo .lin-in-use-photo .img-placeholder { position: absolute; inset: 0; border: none; }
.lin-in-use.is-photo .lin-in-use-body { padding: 30px 32px 34px; }
.lin-in-use.is-photo .lin-in-use-body h4 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 10px; }
.lin-in-use.is-photo .lin-in-use-body p { font-size: 15.5px; line-height: 1.5; color: var(--muted); }

/* ---- CUSTOMER SUCCESS STORY ---- */
.lin-pa-story-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 72px; align-items: center; }
.lin-pa-story-media { position: relative; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 4/3; box-shadow: var(--sh-lg); }
.lin-pa-story-media .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-pa-story-eyebrow { display: block; margin-bottom: 22px; }
.lin-pa-story-q { font-size: 32px; font-weight: 400; line-height: 1.28; letter-spacing: -.018em; color: var(--ink); text-wrap: pretty; }
.lin-pa-story-q .em { color: var(--moss); }
.lin-pa-story-by { margin-top: 28px; display: flex; align-items: center; gap: 14px; }
.lin-pa-story-by .av { width: 46px; height: 46px; border-radius: 50%; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; flex-shrink: 0; }
.lin-pa-story-by .who strong { display: block; font-size: 15px; font-weight: 600; color: var(--ink); }
.lin-pa-story-by .who span { font-size: 14px; color: var(--muted); }
.lin-pa-story-metrics { margin-top: 40px; display: flex; gap: 44px; border-top: 1px solid var(--line-2); padding-top: 28px; }
.lin-pa-story-metric .v { font-size: 38px; font-weight: 500; letter-spacing: -.02em; color: var(--ink); }
.lin-pa-story-metric .v .pos { color: var(--moss); }
.lin-pa-story-metric .k { font-size: 13.5px; color: var(--muted); margin-top: 4px; max-width: 18ch; }
.lin-lk-eyebrow{font-size:14px;letter-spacing:.02em;color:var(--muted-2);font-weight:500;}

/* ---- PLATFORM & SERVICES (indigo) ---- */
.lin-in-ps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 56px; }
.lin-in-ps-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-lg); padding: 32px 30px; transition: background .28s var(--ease), transform .28s var(--ease); text-decoration: none; display: block; }
.lin-in-ps-card:hover { background: rgba(255,255,255,.1); transform: translateY(-3px); }
.lin-in-ps-ic { width: 50px; height: 50px; border-radius: 12px; background: rgba(165,205,57,.16); color: var(--lime); display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.lin-in-ps-card h4 { font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: #fff; margin-bottom: 10px; }
.lin-in-ps-card p { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.74); }
.lin-in-ps-card .lin-go { margin-top: 18px; display: inline-flex; align-items: center; gap: 8px; color: var(--lime); font-size: 14px; font-weight: 600; }

/* ---- WHY (white) — reason rows two-column ---- */
.lin-in-why-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 88px; align-items: start; }
.lin-in-why-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.lin-in-why-item { padding: 28px 0; border-top: 1px solid var(--line-2); }
.lin-in-why-item .lin-h { display: flex; align-items: center; gap: 13px; font-size: 18px; font-weight: 600; color: var(--ink); letter-spacing: -.008em; margin-bottom: 11px; }
.lin-in-why-item .lin-h .lin-ic { width: 34px; height: 34px; border-radius: 9px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-in-why-item p { font-size: 15px; line-height: 1.55; color: var(--muted); }

@media (max-width: 1080px) {
  .lin-in-hero { min-height: 64vh !important; height: 64vh !important; }
  .lin-in-hero-h1 { font-size: 52px; }
  .lin-in-hero-inner { padding: 0 32px 64px !important; }
  .lin-in-trust-inner { padding: 32px; gap: 24px; }
  .lin-in-chal { grid-template-columns: 1fr 1fr; }
  .lin-in-uses { grid-template-columns: repeat(2, 1fr); }
  .lin-in-use, .lin-in-use.is-photo { grid-column: span 1; }
  .lin-in-ps-grid { grid-template-columns: 1fr; }
  .lin-in-why-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 620px) {
  .lin-in-hero-h1 { font-size: 38px; }
  .lin-in-hero-sub { font-size: 18px; }
  .lin-in-chal, .lin-in-uses, .lin-in-why-list { grid-template-columns: 1fr; }
}

/* ============================================================
   Expert Teams page — section styles
   Built on colors_and_type.css + kit.css + page.css (shared
   hero/section scaffolding: .pa-hero2, .pa-sec, .pa-wrap, .pa-head, .pa-h2).
   Surfaces: white (default), oatmeal, indigo. Lime stays precious.
   ============================================================ */

/* ---- nav active state ---- */
.lin-lk-nav-item.lin-is-active .lin-lk-nav-link { color: var(--ink); }

/* ============================================================
   HERO BACKGROUND COMPOSITION
   Layered: gradient wash · drifting glows · blueprint dot-grid ·
   animated connector network. Theme: disciplines connecting into
   one team. All decorative + reduced-motion safe.
   ============================================================ */
.lin-pa-hero2 { position: relative; overflow: hidden; isolation: isolate; }
.lin-pa-hero2 > .lin-pa-hero2-inner,
.lin-pa-hero2 > .lin-et-hero-strip { position: relative; z-index: 2; }

.lin-et-hero-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }

/* base wash — white at top fading to a faint warm tint that hands off to the oatmeal Overview */
.lin-et-hero-bg .wash {
  position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 88% 8%, rgba(165,205,57,.10), transparent 55%),
    radial-gradient(90% 80% at 6% 92%, rgba(24,44,94,.07), transparent 60%),
    linear-gradient(to bottom, #fff 0%, #fff 58%, var(--paper) 100%);
}

/* blueprint dot-grid — very faint, fades out toward center/bottom */
.lin-et-hero-bg .lin-grid {
  position: absolute; inset: -2px;
  background-image: radial-gradient(circle, var(--line-2) 1.1px, transparent 1.2px);
  background-size: 34px 34px;
  opacity: .42;
  -webkit-mask-image: radial-gradient(120% 78% at 76% 18%, #000 0%, transparent 64%);
  mask-image: radial-gradient(120% 78% at 76% 18%, #000 0%, transparent 64%);
}

/* drifting soft glows */
.lin-et-hero-bg .glow { position: absolute; border-radius: 50%; filter: blur(60px); will-change: transform; }
.lin-et-hero-bg .glow.g1 { width: 460px; height: 460px; right: 4%; top: -120px; background: radial-gradient(circle, rgba(165,205,57,.30), transparent 70%); animation: et-glow1 18s ease-in-out infinite; }
.lin-et-hero-bg .glow.g2 { width: 520px; height: 520px; left: -120px; bottom: -180px; background: radial-gradient(circle, rgba(24,44,94,.16), transparent 70%); animation: et-glow2 22s ease-in-out infinite; }
@keyframes et-glow1 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-36px,28px) scale(1.08); } }
@keyframes et-glow2 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(40px,-30px) scale(1.06); } }

/* connector network SVG — confined to the right (gallery side), fades out over the text */
.lin-et-hero-bg .net { position: absolute; inset: 0; width: 100%; height: 100%;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 42%, #000 60%);
  mask-image: linear-gradient(to right, transparent 0%, transparent 42%, #000 60%); }
.lin-et-hero-bg .net .link { fill: none; stroke: var(--line-2); stroke-width: 1.4; }
.lin-et-hero-bg .net .link.dash { stroke-dasharray: 3 7; stroke-linecap: round; opacity: .8; }
.lin-et-hero-bg .net .node { fill: #fff; stroke: var(--line-2); stroke-width: 1.4; }
.lin-et-hero-bg .net .node.lime { stroke: var(--lime); }
.lin-et-hero-bg .net .node-core { fill: var(--moss); }
.lin-et-hero-bg .net .node-core.lime { fill: var(--lime); }
.lin-et-hero-bg .net .pulse { fill: var(--lime); }

/* traveling pulses along the links (offset-path) */
.lin-et-hero-bg .net .pulse { offset-rotate: 0deg; animation: et-pulse 4.5s linear infinite; }
.lin-et-hero-bg .net .pulse.p1 { offset-path: path("M 1180 150 C 1090 150, 1040 250, 940 250"); }
.lin-et-hero-bg .net .pulse.p2 { offset-path: path("M 940 250 C 840 250, 820 400, 720 400"); animation-delay: 1.4s; }
.lin-et-hero-bg .net .pulse.p3 { offset-path: path("M 1300 360 C 1230 360, 1200 250, 1130 250"); animation-delay: 2.6s; }
@keyframes et-pulse { 0% { offset-distance: 0%; opacity: 0; } 12% { opacity: 1; } 80% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .lin-et-hero-bg .glow, .lin-et-hero-bg .net .pulse { animation: none; }
  .lin-et-hero-bg .net .pulse { display: none; }
}

/* ============================================================
   HERO — teams collage on the right
   (reuses .pa-hero2 / .pa-hero2-inner / .pa-hero2-h1 / .pa-hero2-sub)
   ============================================================ */
.lin-et-hero-art { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-content: center; }
.lin-et-gcol { display: flex; flex-direction: column; gap: 22px; }
.lin-et-gcol.offset { margin-top: 52px; }

.lin-et-gcard {
  position: relative; border-radius: 20px; overflow: hidden;
  aspect-ratio: 1 / 1;
  box-shadow: var(--sh-lg); background: #e3e2df;
  opacity: 0; transform: translateY(26px) scale(.985);
  animation: et-gcard-in .8s var(--ease) forwards;
}
@media (prefers-reduced-motion: reduce) { .lin-et-gcard { animation: none; opacity: 1; transform: none; } }
@keyframes et-gcard-in { to { opacity: 1; transform: none; } }

.lin-et-gcard image-slot { display: block; width: 100%; height: 100%; }
/* the dropped photo gently scales on hover */
.lin-et-gcard::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: linear-gradient(to top, rgba(20,22,28,.52) 0%, rgba(20,22,28,.12) 38%, transparent 64%);
  opacity: .9; transition: opacity .4s var(--ease);
}
.lin-et-gcard:hover { box-shadow: var(--sh-xl); }
.lin-et-gcard:hover::after { opacity: 1; }

/* discipline badge over each photo */
.lin-et-gbadge {
  position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 3;
  display: flex; align-items: center; gap: 11px; pointer-events: none;
  background: rgba(255,255,255,.82); backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  border: 1px solid rgba(255,255,255,.7); border-radius: 13px; padding: 9px 12px;
  box-shadow: 0 6px 18px rgba(20,22,28,.18);
  transform: translateY(6px); opacity: 0;
  animation: et-gbadge-in .6s var(--ease) forwards;
}
@media (prefers-reduced-motion: reduce) { .lin-et-gbadge { animation: none; opacity: 1; transform: none; } }
@keyframes et-gbadge-in { to { opacity: 1; transform: none; } }
.lin-et-gbadge-ic {
  width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-2); color: var(--moss);
  border: 1.5px solid #fff; box-shadow: 0 2px 6px rgba(20,22,28,.14);
}
.lin-et-gbadge-ic.lin-indigo { background: rgba(24,44,94,.12); color: var(--indigo); }
.lin-et-gbadge-ic.lin-lime { background: rgba(165,205,57,.22); color: var(--moss); }
.lin-et-gbadge-txt { min-width: 0; display: block; }
.lin-et-gbadge-name { display: block; font-size: 13.5px; font-weight: 600; color: var(--ink); letter-spacing: -.006em; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lin-et-gbadge-role { display: block; font-size: 11.5px; color: var(--moss); font-weight: 600; margin-top: 1px; letter-spacing: -.002em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* floating "one team" chip, top-right */
.lin-et-gchip {
  position: absolute; top: 16px; right: 16px; z-index: 4;
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.9); backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px; padding: 7px 13px 7px 11px; box-shadow: 0 6px 18px rgba(20,22,28,.16);
  font-size: 12px; font-weight: 600; color: var(--ink); letter-spacing: -.003em; white-space: nowrap;
  opacity: 0; animation: et-gbadge-in .6s var(--ease) .9s forwards;
}
.lin-et-gchip .lin-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 3px rgba(165,205,57,.22); }

/* hero discipline strip (replaces generic feature strip) */
.lin-et-hero-strip { max-width: 1640px; margin: 72px auto 0; padding: 0 56px; }
.lin-et-strip-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.lin-pa-sec--oatmeal .lin-et-strip-panel--overview { background: #fff; }
.lin-et-strip-panel--overview { margin-top: 56px; }
.lin-et-strip-item { display: flex; gap: 16px; align-items: flex-start; padding: 6px 36px; border-left: 1px solid var(--line); }
.lin-et-strip-item:first-child { border-left: none; }
.lin-et-strip-ic { width: 44px; height: 44px; border-radius: 11px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--moss); flex-shrink: 0; box-shadow: var(--sh-sm); }
.lin-et-strip-item h5 { font-size: 17px; font-weight: 600; color: var(--ink); margin-bottom: 6px; letter-spacing: -.006em; }
.lin-et-strip-item p { font-size: 14px; color: var(--muted); line-height: 1.46; }
.lin-et-strip-tag { margin: 22px auto 0; max-width: 1640px; padding: 0 56px; }
.lin-et-strip-tag .lin-t { font-size: 19px; color: var(--ink-2); letter-spacing: -.008em; }
.lin-et-strip-tag .lin-t .lin-em { color: var(--moss); font-weight: 600; }

/* ----- explore category cards — image on top, jump to each team ----- */
.lin-et-explore-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 56px; }
.lin-et-explore-card {
  position: relative; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-sm);
  transition: box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.lin-et-explore-card:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); border-color: var(--line-2); }

.lin-et-explore-media { position: relative; aspect-ratio: 4 / 3; background: #e3e2df; overflow: hidden; }
.lin-et-explore-media image-slot { display: block; width: 100%; height: 100%; }
.lin-et-explore-num {
  position: absolute; top: 14px; left: 16px; z-index: 3;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #fff;
  font-variant-numeric: tabular-nums; background: rgba(20, 22, 28, .55);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  padding: 5px 11px; border-radius: 999px; pointer-events: none;
}

.lin-et-explore-action {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0 16px;
  text-align: left; font: inherit; cursor: pointer; width: 100%; flex: 1;
  background: transparent; border: none; padding: 24px 24px 26px;
}
.lin-et-explore-action:focus-visible { outline: 2px solid var(--moss); outline-offset: -3px; }
.lin-et-explore-ic {
  grid-column: 1; align-self: start; width: 44px; height: 44px; border-radius: 11px;
  background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center;
  transition: background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.lin-et-explore-card:hover .lin-et-explore-ic { transform: scale(1.06); }
.lin-et-explore-body { grid-column: 2; display: block; }
.lin-et-explore-h {
  display: block; font-size: 20px; font-weight: 600; color: var(--ink);
  letter-spacing: -.01em; margin-bottom: 6px; transition: color .25s var(--ease);
}
.lin-et-explore-action:hover .lin-et-explore-h { color: var(--moss); }
.lin-et-explore-p { display: block; font-size: 14px; color: var(--muted); line-height: 1.5; }
.lin-et-explore-go {
  grid-column: 3; align-self: center; width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: var(--muted-2);
  background: var(--surface); border: 1px solid var(--line);
  transition: transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.lin-et-explore-card:hover .lin-et-explore-go { background: var(--lime); color: var(--ink); border-color: var(--lime); transform: translateX(3px); }

/* gentle scroll-target offset so headers aren't hidden under nav */
.lin-pa-sec[id] { scroll-margin-top: 72px; }

/* ============================================================
   OVERVIEW band + metric strip
   ============================================================ */
.lin-et-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 88px; align-items: start; }
.lin-et-overview-grid .lin-et-ov-body p { font-size: 19px; line-height: 1.55; color: var(--muted); }
.lin-et-overview-grid .lin-et-ov-body p + p { margin-top: 20px; }
.lin-et-overview-grid .lin-et-ov-body p .lin-em { color: var(--ink); font-weight: 500; }

.lin-et-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 64px; border-top: 1px solid var(--line-2); }
.lin-et-metric { padding: 34px 36px 4px 0; border-right: 1px solid var(--line); }
.lin-et-metric:last-child { border-right: none; padding-right: 0; }
.lin-et-metric .lin-v { font-size: 50px; font-weight: 400; letter-spacing: -.028em; color: var(--indigo); line-height: 1; }
.lin-et-metric .lin-v .lin-u { color: var(--lime); }
.lin-et-metric .lin-l { margin-top: 14px; font-size: 15px; color: var(--muted); line-height: 1.45; max-width: 24ch; }

/* ============================================================
   TEAM PILLAR sections
   ============================================================ */
.lin-et-team-head { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: start; max-width: 1080px; }
.lin-et-team-num { font-size: 86px; font-weight: 300; line-height: .9; letter-spacing: -.04em; color: var(--line-2); font-variant-numeric: tabular-nums; }
.lin-pa-sec--oatmeal .lin-et-team-num { color: #DEDCD6; }
.lin-et-team-headtext .lin-lk-eyebrow { display: block; margin-bottom: 14px; }
.lin-et-team-headtext .lin-pa-h2 { max-width: 18ch; }
.lin-et-team-lead { margin-top: 24px; max-width: 760px; }
.lin-et-team-lead p { font-size: 19px; line-height: 1.55; color: var(--muted); }
.lin-et-team-lead p + p { margin-top: 16px; }

.lin-et-subhead { display: flex; align-items: center; gap: 14px; margin: 0 0 28px; font-size: 13px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--moss); }
.lin-et-subhead::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.lin-et-subhead.lin-sm { font-size: 11.5px; letter-spacing: .08em; margin: 0 0 16px; }

/* ----- Split-index team body (Option B): media + concise content ----- */
.lin-et-tb { display: grid; grid-template-columns: minmax(0, 460px) 1fr; gap: 64px; align-items: start; margin-top: 56px; }
.lin-et-tb.flip { grid-template-columns: 1fr minmax(0, 460px); }
.lin-et-tb.flip .lin-et-tb-media { order: 2; }

.lin-et-tb-media { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 1 / 1; box-shadow: var(--sh-lg); background: #e3e2df; }
.lin-et-tb-media image-slot { display: block; width: 100%; height: 100%; }
.lin-et-tb-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2; background: linear-gradient(to top, rgba(20,22,28,.5) 0%, rgba(20,22,28,.1) 36%, transparent 60%); }

/* very small expertise tags */
.lin-et-tags-sm { display: flex; flex-wrap: wrap; gap: 7px; }
.lin-et-tags-sm span { font-size: 12px; color: var(--ink-2); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 5px 11px; letter-spacing: -.003em; transition: border-color .2s var(--ease), color .2s var(--ease); }
.lin-pa-sec--oatmeal .lin-et-tags-sm span { background: #fff; }
.lin-et-tags-sm span:hover { border-color: var(--line-2); color: var(--ink); }

/* compact numbered initiative rows */
.lin-et-rows-sm { display: flex; flex-direction: column; }
.lin-et-row-sm { display: grid; grid-template-columns: 26px 1fr; gap: 16px; padding: 15px 0; border-top: 1px solid var(--line); align-items: start; }
.lin-et-row-sm:last-child { border-bottom: 1px solid var(--line); }
.lin-et-row-sm .lin-n { font-size: 12px; font-weight: 600; color: var(--moss); font-variant-numeric: tabular-nums; padding-top: 2px; }
.lin-et-row-sm h4 { font-size: 15px; font-weight: 600; letter-spacing: -.008em; color: var(--ink); margin-bottom: 4px; line-height: 1.25; }
.lin-et-row-sm p { font-size: 13px; line-height: 1.5; color: var(--muted); max-width: 56ch; }

.lin-et-team-body { margin-top: 64px; }

/* expertise icon-chip grid */
.lin-et-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lin-et-chip { display: flex; align-items: center; gap: 13px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 16px 18px; box-shadow: var(--sh-sm); transition: box-shadow .24s var(--ease), transform .24s var(--ease), border-color .24s var(--ease); }
.lin-pa-sec--oatmeal .lin-et-chip { background: #fff; }
.lin-et-chip:hover { box-shadow: var(--sh-md); transform: translateY(-2px); border-color: var(--line-2); }
.lin-et-chip-ic { width: 36px; height: 36px; border-radius: 9px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-et-chip-t { font-size: 15.5px; font-weight: 600; color: var(--ink); letter-spacing: -.006em; line-height: 1.25; }

/* typical initiatives cards */
.lin-et-inits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.lin-et-inits.lin-cols5 { grid-template-columns: repeat(5, 1fr); }
.lin-et-inits.lin-cols5 .lin-et-init { padding: 28px 24px; }
.lin-et-init { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 28px; box-shadow: var(--sh-sm); transition: box-shadow .28s var(--ease), transform .28s var(--ease); display: flex; flex-direction: column; }
.lin-pa-sec--oatmeal .lin-et-init { background: #fff; }
.lin-et-init:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.lin-et-init-ic { width: 46px; height: 46px; border-radius: 11px; background: var(--surface); border: 1px solid var(--line); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.lin-et-init h4 { font-size: 19px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 10px; line-height: 1.2; }
.lin-et-init p { font-size: 15px; line-height: 1.5; color: var(--muted); }

/* indigo inset panel (Enterprise AI requires more than models) */
.lin-et-inset { margin-top: 64px; background: var(--indigo); border-radius: var(--r-xl); padding: 56px 56px; color: #fff; display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.lin-et-inset-h { font-size: 32px; font-weight: 400; letter-spacing: -.018em; line-height: 1.12; color: #fff; }
.lin-et-inset-h .lin-dot { color: var(--lime); }
.lin-et-inset-sub { margin-top: 18px; font-size: 16px; line-height: 1.55; color: rgba(255,255,255,.74); max-width: 42ch; }
.lin-et-inset-list { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 44px; }
.lin-et-inset-item { display: flex; align-items: center; gap: 13px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.16); font-size: 16px; color: rgba(255,255,255,.92); letter-spacing: -.004em; }
.lin-et-inset-item .ck { width: 24px; height: 24px; border-radius: 7px; background: rgba(165,205,57,.18); color: var(--lime); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* ============================================================
   HOW WE ENGAGE — engagement model cards
   ============================================================ */
.lin-et-engage { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 60px; }
.lin-et-eng-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 30px; box-shadow: var(--sh-sm); transition: box-shadow .28s var(--ease), transform .28s var(--ease); display: flex; flex-direction: column; }
.lin-pa-sec--oatmeal .lin-et-eng-card { background: #fff; }
#engage .lin-et-eng-card:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.lin-et-eng-ic { width: 52px; height: 52px; border-radius: 13px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 26px; }
.lin-et-eng-num { font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--muted-2); margin-bottom: 12px; }
.lin-et-eng-card h4 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 12px; line-height: 1.18; }
.lin-et-eng-card p { font-size: 15px; line-height: 1.52; color: var(--muted); }

/* ============================================================
   WHY LINNOVATE — reason rows
   ============================================================ */
.lin-et-why-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 88px; align-items: start; }
.lin-et-why-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.lin-et-why-item { padding: 30px 0; border-top: 1px solid var(--line-2); }
.lin-et-why-item .h { display: flex; align-items: center; gap: 13px; font-size: 19px; font-weight: 600; color: var(--ink); letter-spacing: -.008em; margin-bottom: 12px; }
.lin-et-why-item .h .lin-ic { width: 34px; height: 34px; border-radius: 9px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-et-why-item p { font-size: 15px; line-height: 1.55; color: var(--muted); }

/* ============================================================
   TWEAK HOOKS — headline scale (--h-scale) + tint toggle
   (loaded after page.css so these win; responsive preserved)
   ============================================================ */
.lin-pa-hero2-h1 { font-size: calc(74px * var(--h-scale, 1)); }
.lin-pa-h2 { font-size: calc(50px * var(--h-scale, 1)); }
.lin-pa-cta .lin-pa-h2 { font-size: calc(60px * var(--h-scale, 1)); }
.lin-no-tint .lin-pa-sec--oatmeal { background: var(--paper); }

@media (max-width: 1080px) {
  .lin-pa-hero2-h1 { font-size: calc(52px * var(--h-scale, 1)); }
  .lin-pa-h2 { font-size: calc(40px * var(--h-scale, 1)); }
  .lin-pa-cta .lin-pa-h2 { font-size: calc(44px * var(--h-scale, 1)); }
}
@media (max-width: 620px) {
  .lin-pa-hero2-h1 { font-size: calc(40px * var(--h-scale, 1)); }
  .lin-pa-h2 { font-size: calc(33px * var(--h-scale, 1)); }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1080px) {
  .lin-pa-wrap { padding-left: 32px; padding-right: 32px; }
  .lin-et-hero-art { max-width: 600px; }
  .lin-et-hero-strip { padding-left: 32px; padding-right: 32px; }
  .lin-et-strip-panel { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
  .lin-et-strip-item { border-left: none; padding: 14px 28px; }
  .lin-et-strip-tag { padding-left: 32px; padding-right: 32px; }
  .lin-et-overview-grid, .lin-et-why-grid { grid-template-columns: 1fr; gap: 40px; }
  .lin-et-explore-grid { grid-template-columns: 1fr; gap: 16px; }
  .lin-et-team-head { grid-template-columns: 1fr; gap: 16px; }
  .lin-et-team-num { font-size: 62px; }
  .lin-et-tb, .lin-et-tb.flip { grid-template-columns: 1fr; gap: 36px; }
  .lin-et-tb.flip .lin-et-tb-media { order: 0; }
  .lin-et-tb-media { max-width: 460px; }
  .lin-et-chips { grid-template-columns: 1fr 1fr; }
  .lin-et-inits, .lin-et-inits.lin-cols5 { grid-template-columns: 1fr 1fr; }
  .lin-et-inset { grid-template-columns: 1fr; gap: 36px; padding: 44px 40px; }
  .lin-et-engage { grid-template-columns: 1fr 1fr; }
  .lin-et-metrics { grid-template-columns: 1fr; }
  .lin-et-metric { border-right: none; border-bottom: 1px solid var(--line); padding: 26px 0; }
  .lin-et-metric:last-child { border-bottom: none; }
}
@media (max-width: 620px) {
  .lin-et-hero-art { display: none; }
  .lin-et-chips, .lin-et-inits, .lin-et-engage, .lin-et-inset-list, .lin-et-why-list { grid-template-columns: 1fr; }
  .lin-et-inits.lin-cols5 { grid-template-columns: 1fr; }
  .lin-et-inset-item:nth-child(2) { border-top: none; }
}

.lin-pa-head { max-width: 780px; }
.lin-pa-head .lin-lk-eyebrow { display: block; margin-bottom: 18px; }
.lin-pa-wrap { max-width: 1640px; margin: 0 auto; padding: 0 56px; }
.lin-pa-sec { padding: 120px 0; }
.lin-pa-sec--oatmeal { background: var(--oatmeal); }
.lin-pa-sec--indigo  { background: var(--indigo); color: #fff; }


/* ============================================================
   GET IN TOUCH — single-viewport split contact page.
   Left: brand-black editorial side with drawn lime line.
   Right: white form with lime underline focus states.
   Motion: calm, purposeful, all gated on reduced-motion.
   ============================================================ */

   /* Hide site footer only — keep #lin-contact-panel (slide-out) in the DOM. */
   body.lin-no-footer .lin-footer {
     display: none !important;
   }
   body.lin-no-footer .lin-gt-root {
     min-height: 100dvh;
     height: 100dvh;
   }
   body.lin-no-footer #brx-footer {
     height: 0;
     min-height: 0;
     margin: 0;
     padding: 0;
     overflow: visible;
   }
   .lin-gt-root {
     display: grid;
     grid-template-columns: 1fr 1fr;
     min-height: 100dvh;
     height: 100dvh;
     box-sizing: border-box;
     --gt-gutter: max(56px, calc((100vw - 1640px) / 2 + 56px));
     align-items: stretch;
   }
   
   /* ============ LEFT — dark editorial ============ */
   .lin-gt-left {
     position: relative; overflow: hidden;
     background: var(--paper);
     color: var(--ink);
     display: flex; flex-direction: column; justify-content: center;
     min-height: 100dvh;
     padding: calc(88px + 64px) 56px 64px var(--gt-gutter);
     flex-direction: unset;
   }
   
   .lin-gt-logo { position: absolute; top: 36px; left: clamp(40px, 5.5vw, 96px); display: flex; align-items: center; gap: 24px; }
   .lin-gt-logo img { height: 26px; display: block; }
   .lin-gt-back {
     display: inline-flex; align-items: center; gap: 7px;
     font-size: 13px; font-weight: 500; color: var(--muted);
     transition: color var(--dur-fast) var(--ease);
   }
   .lin-gt-back:hover { color: var(--ink); }
   
   /* drawn lime line — abstract route, draws once on load */
   .lin-gt-line { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
   .lin-gt-line path { fill: none; stroke: var(--lime); stroke-width: 1.5; opacity: .26; }
   .lin-gt-line .lin-gt-node { fill: var(--lime); opacity: 0; }
   
   /* content column */
   .lin-gt-content { position: relative; z-index: 2; max-width: 560px; }
   
   .lin-gt-eyebrow {
     font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
     font-weight: 600; color: var(--moss); margin-bottom: 26px;
   }
   
   .lin-gt-h1 {
     margin: 0; font-weight: 400;
     font-size: clamp(56px, 6.4vw, 96px);
     line-height: 1.02; letter-spacing: -0.03em; color: var(--ink);
   }
   .lin-gt-h1 .lin-w { display: inline-block; }
   
   .lin-gt-sub {
     margin: 26px 0 0; max-width: 42ch;
     font-size: 18px; line-height: 1.55; color: var(--muted);
   }
   
   /* contact rows */
   .lin-gt-rows { margin-top: clamp(28px, 4.5vh, 52px); display: flex; flex-direction: column; }
   .lin-gt-row {
     display: flex; align-items: center; gap: 18px;
     padding: 15px 0; border-bottom: 1px solid var(--line);
     color: inherit; transition: border-color var(--dur-fast) var(--ease);
   }
   .lin-gt-row:first-child { border-top: 1px solid var(--line); }
   a.lin-gt-row:hover { border-bottom-color: rgba(165,205,57,.6); }
   a.lin-gt-row:hover .lin-gt-row-val { color: var(--ink); }
   .lin-gt-row-ic {
     width: 38px; height: 38px; flex: none; border-radius: var(--r-sm);
     display: flex; align-items: center; justify-content: center;
     background: var(--surface-2); border: 1px solid var(--line);
     color: var(--moss);
   }
   .lin-gt-row-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
   .lin-gt-row-t { font-size: 15px; font-weight: 600; color: var(--ink); }
   .lin-gt-row-s { font-size: 13px; color: var(--muted); }
   .lin-gt-row-val {
     margin-left: auto; font-size: 14.5px; font-weight: 500;
     color: var(--muted); white-space: nowrap;
     transition: color var(--dur-fast) var(--ease);
   }
   
   /* where we work */
   .lin-gt-where { margin-top: clamp(26px, 4.5vh, 48px); }
   .lin-gt-where-lbl {
     font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
     font-weight: 600; color: var(--muted-2); margin-bottom: 14px;
   }
   .lin-gt-where-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
   .lin-gt-where-t { font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 3px; }
   .lin-gt-where-s { font-size: 12.5px; line-height: 1.45; color: var(--muted); }
   
   /* ============ RIGHT — image with floating form card ============ */
   .lin-gt-right {
     position: relative; background: var(--indigo);
     overflow: hidden;
     display: flex; align-items: center; justify-content: flex-end;
     min-height: 100dvh;
     padding: calc(88px + 48px) var(--gt-gutter) 48px 56px;
     flex-direction: unset;
   }
   .lin-gt-right-bg { position: absolute; inset: 0; z-index: 0; background: #23272e; }
   .lin-gt-right-bg img {  width: 106.17%;
    height: 100%;
    left: 50%;
    top: 50%;
    position: absolute;
    max-width: none;
    transform: translate(-50%, -50%);
    -webkit-user-drag: none;
    user-select: none;
    touch-action: none; }
   .lin-gt-right-tint { position: absolute; inset: 0; z-index: 1; pointer-events: none;
     background: linear-gradient(to top right, rgba(13,15,22,.74) 0%, rgba(13,15,22,.44) 46%, rgba(13,15,22,.22) 100%); }
   .lin-gt-form-card { position: relative; z-index: 2; width: 100%; max-width: 480px; background: #fff; border-radius: var(--r-xl);
     padding: 40px clamp(28px, 3vw, 44px) 36px;
     box-shadow: 0 36px 80px -28px rgba(0,0,0,.6), 0 10px 28px rgba(0,0,0,.16); }
   .lin-gt-form-wrap { width: 100%; max-width: none; }
   
   .lin-gt-form-h { margin: 0 0 8px; font-size: 24px; font-weight: 600; letter-spacing: -.015em; color: var(--ink); }
   .lin-gt-form-sub { margin: 0 0 34px; font-size: 15px; line-height: 1.5; color: var(--muted); }
   
   .lin-gt-form { display: flex; flex-direction: column; gap: 26px; }
   .lin-gt-form-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
   
   .lin-gt-field { display: flex; flex-direction: column; gap: 7px; }
   .lin-gt-field-lbl { font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: var(--ink-2); }
   .lin-gt-field input, .lin-gt-field select, .lin-gt-field textarea {
     font-family: var(--sans); font-size: 15.5px; color: var(--ink);
     background: transparent; border: none; border-bottom: 1.5px solid var(--line-2);
     border-radius: 0; padding: 8px 2px 10px; outline: none; resize: none;
     transition: border-color var(--dur) var(--ease);
     appearance: none; -webkit-appearance: none;
   }
   .lin-gt-field input::placeholder, .lin-gt-field textarea::placeholder { color: var(--muted-2); }
   .lin-gt-field input:focus, .lin-gt-field select:focus, .lin-gt-field textarea:focus { border-bottom-color: var(--lime); }
   .lin-gt-field select:invalid { color: var(--muted-2); }
   .lin-gt-select { position: relative; display: flex; flex-direction: column; }
   .lin-gt-select select { width: 100%; padding-right: 28px; cursor: pointer; }
   .lin-gt-select .lin-gt-select-ic {
     position: absolute; right: 2px; bottom: 12px; pointer-events: none; color: var(--muted-2);
   }
   
   /* submit */
   .lin-gt-submit {
     margin-top: 6px; width: 100%; height: 54px; border: none; cursor: pointer;
     border-radius: var(--r-pill); background: var(--lime); color: var(--ink);
     font-family: var(--sans); font-size: 16px; font-weight: 600; letter-spacing: -.005em;
     display: flex; align-items: center; justify-content: center; gap: 10px;
     transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur-fast);
     box-shadow: 0 1px 2px rgba(21,21,19,.08);
   }
   .lin-gt-submit:hover { transform: scale(1.02); box-shadow: 0 14px 32px -12px rgba(110,140,30,.45); }
   .lin-gt-submit:active { transform: scale(1.0); }
   .lin-gt-submit:disabled { cursor: default; opacity: .82; transform: none; box-shadow: none; }
   .lin-gt-submit:focus-visible { outline: 2px solid var(--moss); outline-offset: 3px; }
   
   .lin-gt-spin {
     width: 16px; height: 16px; border-radius: 50%; flex: none;
     border: 2px solid rgba(21,21,19,.25); border-top-color: var(--ink);
     animation: gt-rotate .7s linear infinite;
   }
   @keyframes gt-rotate { to { transform: rotate(360deg); } }
   
   .lin-gt-privacy { margin: 16px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--muted-2); text-align: center; }
   
   /* success state */
   .lin-gt-sent { display: flex; flex-direction: column; align-items: flex-start; }
   .lin-gt-sent-ic {
     width: 52px; height: 52px; border-radius: 50%; margin-bottom: 26px;
     background: var(--surface-2); color: var(--moss);
     display: flex; align-items: center; justify-content: center;
   }
   .lin-gt-sent-h { margin: 0 0 10px; font-size: clamp(34px, 2.6vw, 44px); font-weight: 400; letter-spacing: -.025em; color: var(--ink); }
   .lin-gt-sent-h .lin-dot { color: var(--lime); font-weight: 600; }
   .lin-gt-sent-p { margin: 0 0 30px; font-size: 16px; line-height: 1.55; color: var(--muted); max-width: 34ch; }
   .lin-gt-sent-back {
     display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 24px;
     border-radius: var(--r-pill); border: 1.5px solid var(--line-2); background: transparent;
     font-family: var(--sans); font-size: 15px; font-weight: 600; color: var(--ink); cursor: pointer;
     transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
   }
   .lin-gt-sent-back:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
   
   /* ============ MOTION ============ */
   @media (prefers-reduced-motion: no-preference) {
     /* headline words rise in */
     .lin-gt-h1 .lin-w { opacity: 0; transform: translateY(26px); animation: gt-rise .7s var(--ease) forwards; }
     .lin-gt-h1 .lin-w:nth-child(2) { animation-delay: .12s; }
   
     /* sequential fades */
     .lin-gt-fade { opacity: 0; transform: translateY(14px); animation: gt-rise .6s var(--ease) forwards; }
   
     /* lime line draws itself */
     .lin-gt-line path { stroke-dasharray: 1600; stroke-dashoffset: 1600; animation: gt-draw 3.6s var(--ease-soft) .5s forwards; }
     .lin-gt-line .lin-gt-node { animation: gt-node-in .6s var(--ease) 3.7s forwards; }
   
     /* form slides in quietly */
     .lin-gt-form-wrap { opacity: 0; transform: translateY(18px); animation: gt-rise .8s var(--ease) .35s forwards; }
   
     /* success swap */
     .lin-gt-sent { animation: gt-rise .55s var(--ease) both; }
   }
   
   @keyframes gt-rise { to { opacity: 1; transform: translateY(0); } }
   @keyframes gt-draw { to { stroke-dashoffset: 0; } }
   @keyframes gt-node-in { from { opacity: 0; } to { opacity: .9; } }
   
   /* gentle pulse on the line's terminal node */
   @media (prefers-reduced-motion: no-preference) {
     .lin-gt-line .lin-gt-pulse {
       fill: none; stroke: var(--lime); opacity: 0;
       animation: gt-pulse 3.2s var(--ease-soft) 4.4s infinite;
       transform-origin: center; transform-box: fill-box;
     }
   }
   @keyframes gt-pulse {
     0%   { opacity: .5; transform: scale(.4); }
     70%  { opacity: 0;  transform: scale(2.6); }
     100% { opacity: 0;  transform: scale(2.6); }
   }
   
   /* ============ RESPONSIVE ============ */
   @media (max-width: 980px) {
     body { overflow: auto; }
     .lin-gt-root { grid-template-columns: 1fr; height: auto; }
     .lin-gt-left { min-height: 72vh; padding: 56px 32px; }
     .lin-gt-right { min-height: 70vh; padding: 56px 32px 64px; justify-content: center; }
     .lin-gt-where-grid { grid-template-columns: 1fr; gap: 16px; }
     .lin-gt-row-val { display: none; }
   }
   
   /* ============================================================
   About + Contact page styles — built on colors_and_type.css + kit.css.
   Reuses pa- scaffolding for section rhythm and the closing CTA.
   ============================================================ */

/* ---------- ABOUT HERO ---------- */
.lin-ab-hero { background: var(--paper); padding: 168px 0 0; }
.lin-ab-hero-inner { max-width: 1640px; margin: 0 auto; padding: 0 56px; }
.lin-ab-hero h1 { font-size: clamp(44px, 6vw, 88px); font-weight: 400; letter-spacing: -.03em; line-height: 1.02; color: var(--ink); max-width: 17ch; text-wrap: balance; }
.lin-ab-hero h1 .em { color: var(--moss); }
.lin-ab-hero p { margin-top: 26px; font-size: 23px; line-height: 1.5; color: var(--muted); max-width: 56ch; }
.lin-ab-hero-media { max-width: 1640px; margin: 56px auto 0; padding: 0 56px; }
.lin-ab-hero-media .lin-img-placeholder { aspect-ratio: 21/9; border-radius: var(--r-xl); }

/* ---------- STATS STRIP ---------- */
.lin-ab-stats { max-width: 1640px; margin: 0 auto; padding: 64px 56px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; border-bottom: 1px solid var(--line); }
.lin-ab-stat .lin-v { font-size: 56px; font-weight: 400; letter-spacing: -.028em; color: var(--ink); line-height: 1; }
.lin-ab-stat .lin-v .em { color: var(--moss); }
.lin-ab-stat .lin-k { margin-top: 14px; font-size: 16px; color: var(--muted); line-height: 1.45; max-width: 22ch; }

/* ---------- OUR STORY (two-column) ---------- */
.lin-ab-story-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 80px; align-items: center; }
.lin-ab-story-grid .lin-media { position: relative; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 4/3; box-shadow: var(--sh-lg); }
.lin-ab-story-grid .lin-media .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-ab-prose p { font-size: 18px; line-height: 1.62; color: var(--ink-2); margin-bottom: 18px; }
.lin-ab-prose p:last-child { margin-bottom: 0; }

/* ---------- WHY WE EXIST (values) ---------- */
.lin-ab-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 56px; }
.lin-ab-value { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 32px 36px; box-shadow: var(--sh-sm); }
.lin-ab-value .lin-ic { width: 50px; height: 50px; border-radius: 13px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.lin-ab-value h4 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); margin-bottom: 10px; }
.lin-ab-value p { font-size: 15.5px; line-height: 1.55; color: var(--muted); }
.lin-pa-sec--indigo .lin-ab-value { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.lin-pa-sec--indigo .lin-ab-value .lin-ic { background: rgba(165,205,57,.18); color: var(--lime); }
.lin-pa-sec--indigo .lin-ab-value h4 { color: #fff; }
.lin-pa-sec--indigo .lin-ab-value p { color: rgba(255,255,255,.72); }

/* ---------- LEADERSHIP ---------- */
.lin-ab-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 56px; }
.lin-ab-member .lin-photo { position: relative; aspect-ratio: 4/5; border-radius: var(--r-lg); overflow: hidden; margin-bottom: 18px; }
.lin-ab-member .lin-photo .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-ab-member h4 { font-size: 19px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.lin-ab-member .lin-role { font-size: 14.5px; color: var(--moss); font-weight: 600; margin-top: 3px; }
.lin-ab-member .lin-bio { font-size: 14.5px; line-height: 1.5; color: var(--muted); margin-top: 10px; }

/* ---------- PARTNERS ---------- */
.lin-ab-partners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 52px; }
.lin-ab-partner { aspect-ratio: 16/7; border: 1px solid var(--line); border-radius: var(--r-md); display: flex; align-items: center; justify-content: center; background: #fff; }
.lin-ab-partner .lin-img-placeholder { position: absolute; inset: 0; border: none; }
.lin-ab-partner-wrap { position: relative; }
.lin-ab-partner-note { margin-top: 28px; font-size: 16px; color: var(--muted); max-width: 60ch; }

/* ---------- CAREERS ---------- */
.lin-ab-careers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.lin-ab-roles { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.lin-ab-role { display: flex; align-items: center; gap: 18px; padding: 22px 26px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); text-decoration: none; transition: border-color .18s var(--ease), transform .18s var(--ease); }
.lin-ab-role:hover { border-color: var(--ink-2); transform: translateX(4px); }
.lin-ab-role .lin-meta b { display: block; font-size: 17.5px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.lin-ab-role .lin-meta span { font-size: 14px; color: var(--muted); }
.lin-ab-role .lin-go { margin-left: auto; color: var(--moss); display: inline-flex; }
.lin-ab-careers-media { position: relative; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 4/3; box-shadow: var(--sh-lg); }
.lin-ab-careers-media .lin-img-placeholder { position: absolute; inset: 0; border: none; }

@media (max-width: 1080px) {
  .lin-ab-hero-inner, .lin-ab-hero-media, .lin-ab-stats { padding-left: 32px; padding-right: 32px; }
  .lin-ab-stats { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .lin-ab-story-grid, .lin-ab-careers-grid { grid-template-columns: 1fr; gap: 44px; }
  .lin-ab-values { grid-template-columns: 1fr; }
  .lin-ab-team { grid-template-columns: repeat(2, 1fr); }
  .lin-ab-partners { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .lin-ab-stats { grid-template-columns: 1fr; }
  .lin-ab-team { grid-template-columns: 1fr; }
}

/* ============================================================
   COMPANY · OUR STORY + CAREERS additions
   ============================================================ */
/* image-slot fills its rounded media container */
.lin-os-media, .lin-os-partner-logo, .lin-cr-g { position: relative; background: #e3e2df; }
.lin-os-media image-slot,
.lin-ab-story-grid .lin-media image-slot,
.lin-ab-member .lin-photo image-slot,
.lin-ab-careers-media image-slot,
.lin-os-partner-logo image-slot,
.lin-cr-g image-slot { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.lin-os-media { border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-lg); }
.lin-os-media--wide { aspect-ratio: 21 / 9; }

.lin-pa-head .lin-pa-lead { margin-top: 16px; font-size: 18px; line-height: 1.55; color: var(--muted); max-width: 60ch; }

/* ---------- PARTNERS (logo + name + description) ---------- */
.lin-os-partners { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 52px; }
.lin-os-partner { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 26px 28px; box-shadow: var(--sh-sm); }
.lin-os-partner-logo { width: 132px; height: 72px; border-radius: var(--r-sm); overflow: hidden; border: 1px solid var(--line); flex-shrink: 0; }
.lin-os-partner h4 { font-size: 18px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.lin-os-partner p { margin-top: 8px; font-size: 14.5px; line-height: 1.55; color: var(--muted); }

/* ---------- WHY ORGANIZATIONS WORK WITH LINNOVATE ---------- */
.lin-os-why-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; margin-top: 48px; }
.lin-os-why-item .lin-ic { width: 46px; height: 46px; border-radius: 12px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.lin-os-why-item h4 { font-size: 17px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; margin-bottom: 8px; line-height: 1.25; }
.lin-os-why-item p { font-size: 14px; line-height: 1.55; color: var(--muted); }

/* ---------- CAREERS: areas of expertise ---------- */
.lin-cr-areas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px; }
.lin-cr-area { display: flex; gap: 18px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 26px 26px 28px; box-shadow: var(--sh-sm); }
.lin-cr-area-ic { width: 46px; height: 46px; border-radius: 12px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-cr-area h4 { font-size: 18px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.lin-cr-area p { margin-top: 6px; font-size: 14.5px; line-height: 1.5; color: var(--muted); }

/* ---------- CAREERS: life at Linnovate ---------- */
.lin-cr-life-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.lin-cr-life-lead { font-size: 18px; line-height: 1.6; color: var(--ink-2); margin-bottom: 24px; max-width: 48ch; }
.lin-cr-life-list { display: flex; flex-direction: column; gap: 18px; }
.lin-cr-life-item { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.lin-cr-life-item .lin-ck { width: 26px; height: 26px; border-radius: 50%; background: var(--lime); color: #1c2a06; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.lin-cr-life-item b { display: block; font-size: 16.5px; color: var(--ink); font-weight: 600; letter-spacing: -.01em; }
.lin-cr-life-item span { font-size: 14.5px; line-height: 1.5; color: var(--muted); }
.lin-cr-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lin-cr-g { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-md); aspect-ratio: 4 / 3; }
.lin-cr-g--tall { grid-row: span 2; aspect-ratio: 3 / 5; }

/* ---------- CAREERS: open positions ---------- */
.lin-cr-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.lin-cr-filter { font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--muted); background: #fff; border: 1px solid var(--line-2); border-radius: 999px; padding: 8px 16px; cursor: pointer; transition: color .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease); }
.lin-cr-filter:hover { color: var(--ink); border-color: var(--ink-2); }
.lin-cr-filter.lin-on,
.lin-cr-filter.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.lin-cr-jobs { display: flex; flex-direction: column; gap: 14px; }
.lin-cr-job { display: flex; align-items: center; gap: 24px; padding: 24px 28px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); transition: border-color .18s var(--ease), box-shadow .18s var(--ease); }
.lin-cr-job.is-hidden { display: none !important; }
.lin-cr-job:hover { border-color: var(--line-2); box-shadow: var(--sh-sm); }
.lin-cr-job-main { flex: 1; min-width: 0; }
.lin-cr-job-main h4 { font-size: 19px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.lin-cr-job-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 8px; }
.lin-cr-job-meta span { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--muted); }
.lin-cr-job-meta .lin-lic svg { color: var(--muted-2); }
.lin-cr-apply { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; font-size: 14.5px; font-weight: 600; color: var(--moss); text-decoration: none; padding: 10px 18px; border: 1px solid var(--line-2); border-radius: 999px; transition: color .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease); }
.lin-cr-apply:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.lin-cr-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; padding: 48px 0; }
.lin-cr-empty .lin-ic { width: 60px; height: 60px; border-radius: 50%; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; }
.lin-cr-empty p { font-size: 20px; color: var(--ink); font-weight: 500; }

@media (max-width: 1080px) {
  .lin-os-partners { grid-template-columns: 1fr; }
  .lin-os-why-grid { grid-template-columns: repeat(2, 1fr); }
  .lin-cr-areas { grid-template-columns: repeat(2, 1fr); }
  .lin-cr-life-grid { grid-template-columns: 1fr; gap: 44px; }
}
@media (max-width: 560px) {
  .lin-os-why-grid { grid-template-columns: 1fr; }
  .lin-cr-areas { grid-template-columns: 1fr; }
  .lin-os-partner { grid-template-columns: 1fr; gap: 16px; }
  .lin-cr-job { flex-direction: column; align-items: flex-start; gap: 16px; }
  .lin-cr-apply { align-self: stretch; justify-content: center; }
}

/* ============ CONTACT PANEL (global slide-out, right edge) ============ */
body.lin-contact-open { overflow: hidden; }

#lin-contact-panel.lin-overlay,
#lin-contact-panel.brxe-section {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  z-index: 200;
  background: rgba(11, 13, 16, 0.42);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s var(--ease);
  backdrop-filter: blur(2px);
}

#lin-contact-panel.lin-overlay--open {
  opacity: 1;
  pointer-events: auto;
}

#lin-contact-panel .lin-panel,
#lin-contact-panel .brxe-div.lin-panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  height: 100vh !important;
  height: 100dvh !important;
  width: min(460px, 100%) !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 56px 44px;
  border-radius: 0 !important;
  background: var(--paper);
  box-shadow: var(--sh-xl);
  overflow-y: auto;
  z-index: 201;
  transform: translateX(100%) !important;
  transition: transform 0.4s var(--ease);
}

#lin-contact-panel.lin-overlay--open .lin-panel,
#lin-contact-panel.lin-overlay--open .brxe-div.lin-panel {
  transform: translateX(0) !important;
}

#lin-contact-panel .lin-panel-x {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 2;
}

#lin-contact-panel .lin-panel-body { max-width: 100%; }
#lin-contact-panel .lin-lk-eyebrow { margin: 0 0 18px; }
#lin-contact-panel .lin-panel-h {
  display: block;
  font-size: 34px;
  font-weight: 400;
  letter-spacing: -0.022em;
  margin: 14px 0 12px;
  line-height: 1.05;
  border: none;
  padding: 0;
}
#lin-contact-panel .lin-panel-sub { font-size: 16px; color: var(--muted); line-height: 1.5; }
#lin-contact-panel .lin-form .lin-btn { width: 100%; justify-content: center; }

@media (max-width: 620px) {
  #lin-contact-panel .lin-panel {
    width: 100% !important;
    padding: 48px 24px 32px;
  }
}

/* ============================================================
   CONTACT
   ============================================================ */
.lin-ct-hero { background: var(--paper); padding: 168px 0 64px; }
.lin-ct-hero-inner { max-width: 1640px; margin: 0 auto; padding: 0 56px; }
.lin-ct-hero h1 { font-size: clamp(48px, 6.5vw, 96px); font-weight: 400; letter-spacing: -.03em; line-height: 1; color: var(--ink); }
.lin-ct-hero h1 .lin-dot { color: var(--moss); }
.lin-ct-hero p { margin-top: 24px; font-size: 23px; line-height: 1.5; color: var(--muted); max-width: 50ch; }

.lin-ct-main { background: var(--paper); padding: 0 0 110px; }
.lin-ct-grid { max-width: 1640px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 80px; align-items: start; }

/* ways to reach us */
.lin-ct-ways { display: flex; flex-direction: column; gap: 16px; }
.lin-ct-way { display: flex; gap: 18px; padding: 26px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; box-shadow: var(--sh-sm); }
.lin-ct-way .lin-ic { width: 46px; height: 46px; border-radius: 12px; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lin-ct-way h4 { font-size: 17px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.lin-ct-way p { font-size: 15px; color: var(--muted); margin-top: 4px; line-height: 1.45; }
.lin-ct-way a { color: var(--moss); font-weight: 600; text-decoration: none; }
.lin-ct-way a:hover { text-decoration: underline; }
.lin-ct-offices { margin-top: 30px; }
.lin-ct-offices .lin-h { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 16px; }
.lin-ct-office { padding: 16px 0; border-top: 1px solid var(--line); }
.lin-ct-office b { display: block; font-size: 16px; font-weight: 600; color: var(--ink); }
.lin-ct-office span { font-size: 14.5px; color: var(--muted); }

/* form card */
.lin-ct-form-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 44px 46px 46px; box-shadow: var(--sh-md); }
.lin-ct-form-card h2 { font-size: 28px; font-weight: 500; letter-spacing: -.02em; color: var(--ink); }
.lin-ct-form-card .lin-sub { font-size: 16px; color: var(--muted); margin-top: 8px; margin-bottom: 30px; }
.lin-ct-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lin-ct-field { display: flex; flex-direction: column; gap: 8px; }
.lin-ct-field.lin-full { grid-column: span 2; }
.lin-ct-field label { font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
.lin-ct-field input, .lin-ct-field textarea, .lin-ct-field select { font-family: var(--sans); font-size: 15.5px; color: var(--ink); border: 1px solid var(--line-2); border-radius: var(--r-md); padding: 13px 15px; background: #fff; transition: border-color .18s var(--ease); }
.lin-ct-field input:focus, .lin-ct-field textarea:focus, .lin-ct-field select:focus { outline: none; border-color: var(--moss); }
.lin-ct-field textarea { resize: vertical; min-height: 120px; }
.lin-ct-submit { grid-column: span 2; margin-top: 6px; }
.lin-ct-sent { grid-column: span 2; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 30px 0; }
.lin-ct-sent .lin-ic { width: 56px; height: 56px; border-radius: 50%; background: var(--surface-2); color: var(--moss); display: flex; align-items: center; justify-content: center; }
.lin-ct-sent h3 { font-size: 24px; font-weight: 500; color: var(--ink); letter-spacing: -.015em; }
.lin-ct-sent p { font-size: 16px; color: var(--muted); max-width: 40ch; }

@media (max-width: 1080px) {
  .lin-ct-hero-inner, .lin-ct-grid { padding-left: 32px; padding-right: 32px; }
  .lin-ct-grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 560px) {
  .lin-ct-form { grid-template-columns: 1fr; }
  .lin-ct-field.lin-full, .lin-ct-submit, .lin-ct-sent { grid-column: span 1; }
}
