/* leCedar Global — shared stylesheet for Industry & Apps pages
   Brand tokens copied from the homepage (index.html) for visual consistency. */
:root{
  --paper:#F1F0EB; --ink:#10150C; --ghost:rgba(16,21,12,.18); --soft:rgba(16,21,12,.46);
  --cedar:#1B2415; --cedar-2:#232E1C; --lime:#D7F05A; --lime-ink:#2A3510;
  --sand:#E5E1D3; --line:rgba(16,21,12,.10); --line-w:rgba(241,240,235,.14); --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter Tight',sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--lime);color:var(--lime-ink)}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.wrap{padding:0 40px}}
a{color:inherit}
img{max-width:100%;display:block}
.eb{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--soft);margin-bottom:14px}
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--soft)}

.pill{display:inline-flex;align-items:center;gap:9px;border-radius:9999px;font-size:14px;font-weight:600;text-decoration:none;padding:12px 22px;transition:background .2s,transform .2s;cursor:pointer;border:none;white-space:nowrap}
.pill.dark{background:#111409;color:#fff}
.pill.dark:hover{background:#2b331e}
.pill.line{border:1px solid var(--line);color:var(--ink);background:transparent}
.pill.line:hover{background:rgba(16,21,12,.05)}
.pill.lime{background:var(--lime);color:var(--lime-ink)}
.pill.lime:hover{background:#e3f97a}
.pill .dot{width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}
.pill .dot i{width:6px;height:6px;border-radius:50%;background:#fff;display:block}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.tag{display:inline-block;font-size:12px;font-weight:600;color:var(--soft);background:rgba(16,21,12,.05);border:1px solid var(--line);border-radius:8px;padding:4px 10px}

/* Nav */
nav{position:sticky;top:0;left:0;right:0;z-index:90;background:rgba(241,240,235,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav .bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:15px 24px;max-width:1120px;margin:0 auto}
@media(min-width:768px){nav .bar{padding:15px 40px}}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);justify-self:start}
.brand svg{width:24px;height:24px}
.brand b{font-size:16px;font-weight:500;letter-spacing:-.01em}
.brand b i{font-style:normal;font-weight:700}
.brand b span{color:#54713a;font-weight:500}
.navlinks{display:flex;gap:6px;justify-self:center}
.navlinks a{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:8px 14px;transition:opacity .2s}
.navlinks a:hover,.navlinks a.on{opacity:.5}
nav .nav-cta{justify-self:end}
@media(max-width:860px){.navlinks{display:none}nav .bar{grid-template-columns:1fr auto}}

/* Hero */
.ind-hero{padding:150px 0 60px;text-align:center;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(219,219,209,.6) 0%,transparent 70%)}
.ind-hero .wrap{display:flex;flex-direction:column;align-items:center}
.ind-hero h1{font-weight:500;letter-spacing:-.03em;line-height:1.08;font-size:clamp(32px,5.4vw,58px);margin-top:14px;max-width:820px}
.ind-hero .sub{margin-top:18px;max-width:560px;font-size:clamp(14px,1.5vw,17px);font-weight:500;color:var(--soft)}
.ind-hero .ctas{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap;justify-content:center}

/* Quote / positioning */
.ind-quote{padding:60px 0}
.ind-quote .wrap{max-width:760px;text-align:center}
.ind-quote blockquote{font-size:clamp(19px,2.4vw,27px);font-weight:500;letter-spacing:-.01em;line-height:1.45}
.ind-quote .who{margin-top:18px;font-size:13px;color:var(--soft);font-weight:600}

/* 3-feature block */
.ind-features{padding:60px 0}
.feat-grid-3{display:grid;grid-template-columns:1fr;gap:28px;margin-top:8px}
@media(min-width:768px){.feat-grid-3{grid-template-columns:repeat(3,1fr)}}
.feat{background:#FBFAF7;border:1px solid var(--line);border-radius:16px;padding:26px}
.feat h3{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}
.feat p{font-size:14.5px;color:var(--soft);font-weight:500}

/* 6-item grid */
.ind-grid{padding:50px 0;background:var(--sand)}
.grid-6{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:8px}
@media(min-width:640px){.grid-6{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.grid-6{grid-template-columns:repeat(3,1fr)}}
.gcell{background:#FBFAF7;padding:22px}
.gcell h4{font-size:14.5px;font-weight:600;margin-bottom:6px}
.gcell p{font-size:13px;color:var(--soft);font-weight:500}

/* Apps strip */
.ind-apps{padding:60px 0}
.app-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:8px 0 26px}
@media(min-width:640px){.app-strip{grid-template-columns:repeat(3,1fr)}}
@media(min-width:980px){.app-strip{grid-template-columns:repeat(6,1fr)}}
.appc{border:1px solid var(--line);border-radius:12px;padding:16px 14px;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}
.appc:hover{border-color:var(--ink);background:#fff}
.appc .an{font-size:13.5px;font-weight:600}
.appc .ad{font-size:11.5px;color:var(--soft);font-weight:500;margin-top:4px}

/* CTA */
.ind-cta{padding:70px 0;background:var(--cedar);color:#fff;text-align:center}
.ind-cta h2{font-size:clamp(24px,3.4vw,38px);font-weight:500;letter-spacing:-.02em;max-width:640px;margin:0 auto}
.ind-cta p{margin-top:14px;color:rgba(255,255,255,.6);font-weight:500;max-width:480px;margin-left:auto;margin-right:auto}
.ind-cta .ctas{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;justify-content:center}
.ind-cta .pill.line{border-color:var(--line-w);color:#fff}
.ind-cta .pill.line:hover{background:rgba(255,255,255,.08)}

/* Footer */
.ind-foot{padding:34px 0;text-align:center;font-size:12.5px;color:var(--soft);font-weight:500}
.ind-foot a{text-decoration:none;font-weight:600;color:var(--ink)}

/* Hub grid (industries/index.html) */
.hub-head{padding:150px 0 40px;text-align:center}
.hub-head h1{font-weight:500;letter-spacing:-.03em;font-size:clamp(32px,5vw,54px)}
.hub-head p{margin-top:16px;max-width:560px;margin-left:auto;margin-right:auto;color:var(--soft);font-weight:500}
.hub-search{position:relative;max-width:480px;margin:32px auto 0;display:flex;align-items:center}
.hub-search svg{position:absolute;left:16px;width:17px;height:17px;fill:none;stroke:var(--soft);stroke-width:1.7;stroke-linecap:round;pointer-events:none}
.hub-search input{width:100%;padding:14px 42px;border:1px solid var(--line);border-radius:9999px;background:#FBFAF7;font-family:'Inter Tight',sans-serif;font-size:14.5px;font-weight:500;color:var(--ink);outline:none;transition:border-color .2s}
.hub-search input::placeholder{color:var(--soft)}
.hub-search input:focus{border-color:var(--ink)}
.hub-search-clear{display:none;align-items:center;justify-content:center;position:absolute;right:10px;width:24px;height:24px;border-radius:50%;border:none;background:var(--sand);color:var(--ink);font-size:15px;line-height:1;cursor:pointer}
.hub-search-meta{text-align:center;margin-top:12px;font-size:12.5px;color:var(--soft);font-weight:500}
.hub-empty{display:none;text-align:center;padding:40px 20px;color:var(--soft);font-weight:500;font-size:14.5px}
.hub-empty.show{display:block}
.hub-empty a{color:var(--ink);font-weight:600}
.hub-cats{padding:10px 0 90px}
.hub-cat{margin-bottom:44px}
.hub-cat h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--soft);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.hub-cards{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.hub-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.hub-cards{grid-template-columns:repeat(3,1fr)}}
.hcard{display:grid;grid-template-columns:auto 1fr;column-gap:14px;border:1px solid var(--line);border-radius:14px;padding:18px 20px;text-decoration:none;color:var(--ink);background:#FBFAF7;transition:border-color .2s,transform .2s}
.hcard:hover{border-color:var(--ink);transform:translateY(-2px)}
.hcard:hover .hicon{border-color:var(--ink)}
.hicon{grid-column:1;grid-row:1/3;position:relative;width:36px;height:36px;border-radius:10px;background:var(--sand);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:border-color .2s}
.hicon svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hicon::after{content:"";position:absolute;top:-3px;right:-3px;width:7px;height:7px;border-radius:50%;background:var(--lime);border:1.5px solid var(--paper)}
.hcard .hn{grid-column:2;grid-row:1;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px}
.hcard .hd{grid-column:2;grid-row:2;font-size:12.5px;color:var(--soft);font-weight:500;margin-top:6px}
.hcard .live{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--lime);color:var(--lime-ink);border-radius:20px;padding:2px 8px;white-space:nowrap}
.hcard .soon{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);white-space:nowrap}

/* Apps page */
.apps-head{padding:150px 0 40px;text-align:center}
.apps-head h1{font-weight:500;letter-spacing:-.03em;font-size:clamp(32px,5vw,54px)}
.apps-head p{margin-top:16px;max-width:600px;margin-left:auto;margin-right:auto;color:var(--soft);font-weight:500}
.apps-cats{padding:10px 0 90px}
.apps-cat{margin-bottom:40px}
.apps-cat h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--soft);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.apps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:640px){.apps-grid{grid-template-columns:repeat(3,1fr)}}
.acard{border:1px solid var(--line);border-radius:12px;padding:14px;background:#FBFAF7;opacity:0;transition:opacity .5s ease,transform .25s cubic-bezier(.22,1,.36,1),border-color .2s,box-shadow .25s}
.acard.in{opacity:1}
.acard:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 10px 24px rgba(16,21,12,.08)}
.acard .an{font-size:14px;font-weight:600}
.acard .ad{font-size:12.5px;color:var(--soft);font-weight:500;margin-top:5px}

/* App thumbnails — reuse the homepage finder's shape vocabulary */
.athumb{height:64px;border-radius:9px;background:#F5F4EE;border:1px solid var(--line);position:relative;overflow:hidden;margin-bottom:12px}
.athumb .vb{position:absolute;bottom:9px;background:var(--sand);border-radius:3px 3px 0 0;transform-origin:bottom;transition:transform .3s}
.athumb .vb.hot{background:var(--lime)}
.athumb .dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--lime);border:2px solid var(--cedar)}
.athumb .dot.soft{background:var(--sand);border-color:rgba(16,21,12,.28)}
.athumb .ln{position:absolute;height:4px;border-radius:3px;background:rgba(16,21,12,.14);transform-origin:left}
.athumb .ln.hot{background:var(--lime)}
.athumb .sq{position:absolute;border-radius:4px;background:var(--cedar)}
.athumb .sq.soft{background:var(--sand)}
.athumb .sq.lime{background:var(--lime)}
.athumb .circ{position:absolute;border-radius:50%;border:2px solid var(--cedar);background:transparent}
.athumb .tri{position:absolute;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid var(--cedar)}
.athumb svg{position:absolute}

/* Motion: calm at rest, comes alive on hover — kept to compositor-only transform/opacity so 47 cards cost nothing until touched */
@media (prefers-reduced-motion: no-preference){
  .acard:hover .athumb .vb{animation:athumbBar .85s cubic-bezier(.34,1.56,.64,1) infinite alternate}
  .acard:hover .athumb .vb:nth-of-type(1){animation-delay:0s}
  .acard:hover .athumb .vb:nth-of-type(2){animation-delay:.08s}
  .acard:hover .athumb .vb:nth-of-type(3){animation-delay:.16s}
  .acard:hover .athumb .vb:nth-of-type(4){animation-delay:.24s}
  .acard:hover .athumb .vb:nth-of-type(5){animation-delay:.32s}
  .acard:hover .athumb .dot,.acard:hover .athumb .circ{animation:athumbDot 1s ease-in-out infinite}
  .acard:hover .athumb .ln{animation:athumbLine .5s ease forwards}
  .acard:hover .athumb .sq{animation:athumbSq 1.15s ease-in-out infinite}
  .acard:hover .athumb svg path,.acard:hover .athumb svg polyline{animation:athumbDraw 1s ease forwards}
}
@keyframes athumbBar{from{transform:scaleY(1)}to{transform:scaleY(1.35)}}
@keyframes athumbDot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.65}}
@keyframes athumbLine{from{transform:scaleX(.35)}to{transform:scaleX(1)}}
@keyframes athumbSq{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(3deg) scale(1.06)}}
@keyframes athumbDraw{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
