/* LaCurent landing: the circuit by role. Built on lc-site.css; the reused
   blocks below (thermal before/after, standards ribbon, class scale, building
   chooser) keep their former names, mapped onto the same tokens. */
body[data-lacurent-landing]{--bg:var(--lc-page);--soft:var(--lc-bg);--soft-2:var(--lc-soft-2);--ln:var(--lc-line);--ink:var(--lc-ink);--txt:var(--lc-text);--mut:var(--lc-muted);--brand:var(--lc-blue);--brand-2:var(--lc-blue-ink);--brand-soft:var(--lc-blue-soft);--brand-ink:#fff;--card:var(--lc-card);--glass:var(--lc-glass);--shadow:0 30px 60px -34px rgba(12,21,39,.45);--shadow-s:0 12px 28px -18px rgba(12,21,39,.4);--r:20px;margin:0;background:var(--lc-page);color:var(--lc-text);font:400 16px/1.6 var(--lc-font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body[data-lacurent-landing] *,body[data-lacurent-landing] *::before,body[data-lacurent-landing] *::after{box-sizing:border-box}
body[data-lacurent-landing] img{display:block;max-width:100%}
html{scroll-behavior:smooth;scroll-padding-top:84px}
.w{max-width:1200px;margin:0 auto;padding:0 24px}
@media (max-width:720px){.w{padding:0 16px}}
.art{position:relative;padding:18px 0 26px}
.ir{position:relative;aspect-ratio:1/1;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:var(--soft-2);--x:42%;touch-action:pan-y}
.ir img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.ir .th{clip-path:inset(0 0 0 var(--x));transition:opacity .45s}
.ir .th.after{opacity:0}
.ir[data-state="after"] .th.after{opacity:1}
.ir .bar{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);pointer-events:none}
.ir .knob{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff;color:#0b1526;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.ir .knob svg{width:22px;height:22px}
.ir input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ir .lbl{position:absolute;bottom:16px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ir .lbl.r{right:16px;background:rgba(10,6,30,.55);color:#fff}
.ir .scale{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(10,6,30,.55);color:#fff;font-size:11.5px;font-weight:600;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ir .scale i{display:block;width:64px;height:6px;border-radius:6px;background:linear-gradient(90deg,#08061e,#340a6e,#961482,#dc3c3c,#fa8c14,#ffd73c,#fffadc)}
.irctl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;font-size:13px;color:var(--mut)}
.seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--soft-2);border:1px solid var(--ln)}
.seg button{border:0;background:transparent;color:var(--mut);font:600 13.5px Inter,sans-serif;padding:7px 14px;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-s)}
.float{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:18px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--ln);box-shadow:var(--shadow);font-size:13px;color:var(--mut);line-height:1.3}
.float b{display:block;color:var(--ink);font-size:16px}
.float .cls{display:flex;gap:4px}
.float .cls span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;font-weight:800;font-size:13px}
.f1{top:0;left:-28px}
.f2{top:46%;right:-22px}
.f3{bottom:0;left:9%}
.float .pi{width:30px;height:30px}
.trust-ribbon{padding:30px 0 34px;border-bottom:1px solid var(--ln)}
.trust-ribbon .trust-shell{border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);padding:24px 0 22px}
.trust-ribbon .trust-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:24px}
.trust-ribbon .trust-title{font-size:12px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.trust-ribbon .trust-note{max-width:460px;font-size:12px;line-height:1.55;color:var(--mut);text-align:right}
.trust-strip{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.trust-track{display:flex;width:max-content;animation:trust-scroll 44s linear infinite;will-change:transform}
.trust-strip:hover .trust-track,.trust-strip:focus-within .trust-track{animation-play-state:paused}
.trust-set{display:flex;align-items:center;gap:42px;padding-right:42px}
.trust-item{display:flex;align-items:center;min-height:34px;color:var(--txt);white-space:nowrap;font-size:14.5px;line-height:1.3;font-weight:450;letter-spacing:0}
.trust-label{font:inherit;color:inherit}
.trust-source-link{color:inherit;text-decoration:none}
.trust-source-link:hover .trust-label{color:var(--ink)}
@keyframes trust-scroll{to{transform:translateX(-50%)}}
@media(max-width:640px){
  .trust-ribbon{padding:22px 0 28px}
  .trust-ribbon .trust-shell{padding:20px 0 18px}
  .trust-ribbon .trust-head{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:20px}
  .trust-ribbon .trust-note{text-align:left}
  .trust-set{gap:32px;padding-right:32px}
  .trust-item{font-size:14px}
  .trust-track{animation-duration:38s}
}
@media(prefers-reduced-motion:reduce){
  .trust-strip{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scrollbar-width:none}
  .trust-strip::-webkit-scrollbar{display:none}
  .trust-track{animation:none}
  .trust-set:nth-child(2){display:none}
}
.dgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
.pan{background:var(--card);border-radius:var(--r);border:1px solid var(--ln);padding:30px;box-shadow:var(--shadow-s)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chips span{font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;background:var(--soft);color:var(--ink);border:1px solid var(--ln)}
.pan h3{font-size:15px;color:var(--mut);font-weight:600;margin-bottom:16px;letter-spacing:0}
.scale{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.scale li{display:flex;align-items:center;height:34px}
.scale li span{display:flex;align-items:center;height:100%;width:var(--w);padding-left:14px;background:var(--bg-c);color:var(--fg);font-weight:800;font-size:14px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);border-radius:6px 0 0 6px}
.scale em{font-style:normal;margin-left:14px;font-size:13.5px;font-weight:700;padding:5px 11px;border-radius:999px;white-space:nowrap}
.scale em.now{background:#fff3c4;color:#5a4300}
.scale em.after{background:#d9f5e3;color:#07542f}
.side{display:grid;gap:16px;align-content:start}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kpi{border-radius:var(--r);padding:22px 24px;background:var(--card);border:1px solid var(--ln);box-shadow:var(--shadow-s)}
.kpi small{display:block;font-size:13px;color:var(--mut);font-weight:600}
.kpi b{display:block;margin-top:6px;font-family:Archivo,Inter,sans-serif;font-stretch:80%;font-variation-settings:"wdth" 80;font-size:30px;font-weight:800;color:var(--ink);line-height:1.1}
.kpi b small{display:inline;font-family:Inter,sans-serif;font-size:14px;color:var(--mut);font-weight:600}
.kpi.big{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px}
.kpi.big b{font-size:44px}
.kpi.big .pi{width:52px;height:52px}
.path{display:grid;gap:8px;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--ln);box-shadow:var(--shadow-s)}
.path h3{font-size:18px;letter-spacing:-.015em;margin-bottom:6px}
.path div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:var(--soft)}
.path b{color:var(--ink);font-size:15px}
.path small{display:block;font-size:13px;color:var(--mut)}
.badge{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-weight:800;flex:none}
.fine{margin-top:18px;font-size:13px;color:var(--mut)}
.lc-entry-dialog{border:1px solid var(--ln);padding:0;color:var(--ink);background:var(--bg);border-radius:24px;width:min(590px,calc(100vw - 28px));max-height:min(88dvh,740px);box-shadow:0 30px 90px rgba(11,21,38,.28);overflow:auto}
.lc-entry-dialog::backdrop{background:rgba(10,21,39,.50);backdrop-filter:blur(5px)}
.lc-entry-shell{padding:28px}
.lc-entry-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:23px}
.lc-entry-head h2{font:850 27px/1.1 Inter,sans-serif;letter-spacing:-.02em}
.lc-entry-head p{font-size:13px;color:var(--mut);margin-top:8px}
.lc-entry-close{background:var(--soft);border:1px solid var(--ln);border-radius:50%;width:36px;height:36px;font-size:22px;color:var(--ink);cursor:pointer;flex:none}
.lc-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lc-entry-option{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:138px;padding:19px;border-radius:17px;text-decoration:none;text-align:left;background:var(--card);border:1px solid var(--ln);color:var(--ink);transition:border-color .16s,transform .16s,background .16s;cursor:pointer}
.lc-entry-option:not(.is-disabled):hover,.lc-entry-option:not(.is-disabled):focus-visible{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-2px)}
.lc-entry-option svg{width:28px;height:28px;stroke:var(--brand);fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.lc-entry-option b{font-weight:700;font-size:16px}
.lc-entry-option small{display:block;font-size:12px;color:var(--mut);margin-top:3px}
.lc-entry-option.is-disabled{opacity:.58;cursor:not-allowed}

.lc-entry-note{margin-top:16px;color:var(--mut);font-size:12px;line-height:1.45}
@media(max-width:600px){.lc-entry-dialog{margin:auto 0 0;width:100%;max-width:none;border-radius:23px 23px 0 0;max-height:88dvh}.lc-entry-shell{padding:22px 18px 28px}.lc-entry-option{min-height:126px;padding:14px}.lc-entry-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.lc-entry-option{transition:none}}

/* ---------------------------------------------------------------- hero */
.lp-hero{background:var(--lc-navy);color:#c4cddd;padding:64px 0 72px;overflow:hidden}
.lp-hero .lc-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.lp-hero .lc-h1{color:#f1f4fa}
.lp-hero .lc-h1 em{display:block;font-style:normal;color:var(--lc-amber)}
.lp-hero .lc-lead{color:#c4cddd}
.lp-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--lc-navy-2);color:#e6ebf5;font:600 13.5px/1 var(--lc-font)}
.lp-chip b{padding:5px 9px;border-radius:999px;background:var(--lc-amber);color:var(--lc-navy);font-weight:800}
.lp-who{margin-top:30px}
.lp-who h2{margin:0 0 12px;font:750 13px/1.3 var(--lc-font);letter-spacing:.12em;text-transform:uppercase;color:var(--lc-amber)}
.lp-who-grid{display:grid;gap:10px}
.lp-who a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:16px 18px;border-radius:16px;background:var(--lc-navy-2);border:1px solid var(--lc-navy-3);color:#f1f4fa;text-decoration:none;transition:border-color .15s,background .15s}
.lp-who a:hover{border-color:var(--lc-amber);background:#1b2943}
.lp-who a b{font:750 17px/1.3 var(--lc-font)}
.lp-who a small{grid-column:1;color:#a9b4c8;font-size:14px;line-height:1.45}
.lp-who a span{grid-row:1/3;grid-column:2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--lc-blue);color:#fff;font-weight:800}
.lp-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;padding:0;list-style:none;color:#a9b4c8;font-size:13.5px}
.lp-facts li::before{content:"✓";margin-right:6px;color:var(--lc-amber);font-weight:800}
.lp-hero .irctl{color:#a9b4c8}
.lp-hero .irctl small{color:#8d99ad}
.lp-hero .seg{background:var(--lc-navy-2);border-color:var(--lc-navy-3)}
.lp-hero .seg button{color:#a9b4c8}
.lp-hero .seg button[aria-pressed="true"]{background:#fff;color:var(--lc-ink)}
@media (max-width:1020px){.lp-hero .lc-wrap{grid-template-columns:1fr}.lp-hero .art-col{max-width:640px;width:100%;margin:0 auto}.ir{aspect-ratio:4/3}}
@media (max-width:720px){.lp-hero{padding:40px 0 48px}.float{padding:9px 12px;font-size:12px;border-radius:14px}.float b{font-size:14px}.float .cls span{width:24px;height:24px;font-size:11.5px}.float .pi{width:24px;height:24px}.f1{top:0;left:-6px}.f2{top:38%;right:-6px}.f3{bottom:0;left:6%}.ir{border-radius:22px}.ir .scale{display:none}}

/* -------------------------------------------------------- building types */
.lp-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lp-type{display:flex;flex-direction:column;border:1px solid var(--lc-line);border-radius:var(--lc-r);overflow:hidden;background:var(--lc-card);color:var(--lc-text);text-decoration:none;transition:border-color .15s}
.lp-type:hover{border-color:var(--lc-blue)}
.lp-type img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.lp-type div{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;flex:1}
.lp-type h3{margin:0;font:750 19px/1.25 var(--lc-font);color:var(--lc-ink);letter-spacing:-.015em}
.lp-type p{margin:0;font-size:14.5px;line-height:1.5}
.lp-type span{margin-top:auto;padding-top:8px;color:var(--lc-blue);font-weight:700;font-size:14px}
@media (max-width:1020px){.lp-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.lp-types{grid-template-columns:1fr}}

/* ------------------------------------------------------------ example */
.lp-example .dgrid{align-items:start}
.kpi b{font-weight:850;letter-spacing:-.03em}
@media (max-width:1020px){.dgrid{grid-template-columns:1fr}}
@media (max-width:720px){.kpis{grid-template-columns:1fr}.pan{padding:22px 18px}.scale em{font-size:12px;padding:4px 9px;margin-left:8px}}

/* ------------------------------------------------- independence (dark) */
.lp-trust .lc-wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;align-items:start}
.lp-trust .lc-grid{gap:12px}
.lp-trust .lc-card h3{font-size:17px}
@media (max-width:1020px){.lp-trust .lc-wrap{grid-template-columns:1fr;gap:28px}}

/* ---------------------------------------------------------------- faq */
.lp-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}
.lp-faq details{border-bottom:1px solid var(--lc-line)}
.lp-faq summary{display:flex;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;list-style:none;font:700 17px/1.4 var(--lc-font);color:var(--lc-ink)}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--lc-line);font-weight:600}
.lp-faq details[open] summary::after{content:"−"}
.lp-faq details p{margin:0 0 20px;padding-right:46px;color:var(--lc-text);line-height:1.6}
.lp-faq details a{color:var(--lc-blue);font-weight:650}
@media (max-width:860px){.lp-faq{grid-template-columns:1fr;gap:12px}.lp-faq details p{padding-right:0}}

/* ------------------------------------------------------ standards band */
.trust-ribbon{padding:28px 0 30px;border-bottom:0}
.trust-ribbon .trust-title{color:var(--lc-muted)}

.lp-intents{margin:14px 0 0;color:var(--lc-muted);font:500 14px/1.6 var(--lc-font)}
.lp-intents a{color:var(--lc-blue);font-weight:650;text-decoration:none}
.lp-intents a:hover{text-decoration:underline}
.lp-sign{margin:32px 0 0;color:var(--lc-ink);font:800 clamp(20px,2.4vw,26px)/1.25 var(--lc-font);letter-spacing:-.02em}
.lp-sign em{font-style:normal;color:var(--lc-blue)}
.lc-role-intro .lp-intents{flex-basis:100%;margin:-4px 0 0;font-size:14.5px;color:var(--lc-muted)}
