/* ==========================================================================
   Project 54 — Energy Findability Audit service page
   Engineered Blueprint. Sharp corners, one accent, mono micro-labels.
   Every value here is taken from the design handoff tokens.
   ========================================================================== */

.p54fa{
  --fa-accent:#1F6FEB;
  --fa-accent-soft:rgba(31,111,235,0.40);
  --fa-accent-glow:rgba(31,111,235,0.50);
  --fa-base:#0A0A0B;
  --fa-raised:#0E0E10;
  --fa-card:#141417;
  --fa-text:#ECECEA;
  --fa-muted:#8C8C92;
  --fa-faint:#5A5A60;
  --fa-line:rgba(255,255,255,0.12);
  --fa-line-2:rgba(255,255,255,0.06);
  --fa-sans:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --fa-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Consolas,monospace;
  font-family:var(--fa-sans);
  color:var(--fa-text);
  display:block;
}
.p54fa *{box-sizing:border-box}
.p54fa ::selection{background:var(--fa-accent-soft)}
.p54fa :focus-visible{outline:2px solid var(--fa-accent);outline-offset:2px}

/* ---------- layout ---------- */
.p54fa-shell{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.p54fa-sec{padding-bottom:clamp(56px,8vw,96px)}
.p54fa-sec--last{padding-bottom:clamp(64px,9vw,110px)}
.p54fa-rule{border-top:1px solid rgba(255,255,255,0.1);padding-top:clamp(40px,6vw,64px)}

/* ---------- type ---------- */
.p54fa-mono{font-family:var(--fa-mono);text-transform:uppercase}
.p54fa-kicker{display:flex;align-items:baseline;gap:12px}
.p54fa-kicker .p54fa-idx{font-family:var(--fa-mono);font-size:11px;color:var(--fa-accent);letter-spacing:0.1em}
.p54fa-kicker .p54fa-lbl{font-family:var(--fa-mono);font-size:10px;color:var(--fa-faint);letter-spacing:0.16em;text-transform:uppercase}
.p54fa-h2{margin:16px 0 0;font-size:clamp(26px,3.8vw,46px);font-weight:700;letter-spacing:-0.018em;line-height:1.1;max-width:26ch;text-wrap:pretty}
.p54fa-lede{margin:18px 0 28px;font-size:16.5px;color:var(--fa-muted);line-height:1.65;max-width:62ch}

/* ---------- corner tick brackets ---------- */
.p54fa-tick{position:absolute;width:9px;height:9px;pointer-events:none}
.p54fa-tick.tl{top:-1px;left:-1px;border-top:1px solid rgba(31,111,235,0.8);border-left:1px solid rgba(31,111,235,0.8)}
.p54fa-tick.tr{top:-1px;right:-1px;border-top:1px solid rgba(31,111,235,0.8);border-right:1px solid rgba(31,111,235,0.8)}
.p54fa-tick.bl{bottom:-1px;left:-1px;border-bottom:1px solid rgba(31,111,235,0.8);border-left:1px solid rgba(31,111,235,0.8)}
.p54fa-tick.br{bottom:-1px;right:-1px;border-bottom:1px solid rgba(31,111,235,0.8);border-right:1px solid rgba(31,111,235,0.8)}
.p54fa-tick.dim{border-color:rgba(255,255,255,0.35)}

/* ---------- buttons ---------- */
.p54fa-btn{display:inline-block;font-family:var(--fa-mono);font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#FFFFFF;background:var(--fa-accent);border:1px solid var(--fa-accent);padding:13px 20px;text-decoration:none;transition:opacity .2s;cursor:pointer}
.p54fa-btn:hover{opacity:.85;color:#FFFFFF}
.p54fa-btn--wipe{color:var(--fa-text);background:transparent;background-image:linear-gradient(var(--fa-accent),var(--fa-accent));background-repeat:no-repeat;background-size:0% 100%;border:1px solid rgba(255,255,255,0.25);font-weight:400;transition:background-size .28s ease,color .2s ease,border-color .2s}
.p54fa-btn--wipe:hover{background-size:100% 100%;color:#FFFFFF;border-color:var(--fa-accent);opacity:1}
.p54fa-btn--block{display:block;text-align:center;font-size:10.5px;padding:11px 14px}

/* ==========================================================================
   HERO
   ========================================================================== */
.p54fa-hero{padding-top:calc(72px + clamp(30px,5vw,60px))}
.p54fa-eyebrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.p54fa-eyebrow span{font-family:var(--fa-mono);font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase}
.p54fa-eyebrow .a{color:var(--fa-accent)}
.p54fa-eyebrow .b{color:var(--fa-faint)}
.p54fa-h1{margin:20px 0 0;font-size:clamp(34px,5vw,62px);font-weight:800;letter-spacing:-0.02em;line-height:1.05;max-width:20ch;text-wrap:pretty}
.p54fa-hero-intro{margin:20px 0 0;font-size:17px;color:var(--fa-muted);line-height:1.65;max-width:56ch}

.p54fa-demo{position:relative;background:var(--fa-raised);border:1px solid var(--fa-line);margin-top:clamp(30px,4.5vw,48px)}
.p54fa-demo-head{padding:16px 18px;border-bottom:1px solid var(--fa-line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.p54fa-demo-head span{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase}
.p54fa-demo-head .l{color:var(--fa-muted)}
.p54fa-demo-head .r{color:var(--fa-faint)}
.p54fa-qs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:16px 18px}
.p54fa-chip{font-family:var(--fa-sans);font-size:13.5px;line-height:1.5;padding:12px 14px;cursor:pointer;user-select:none;border:1px solid rgba(255,255,255,0.14);background:var(--fa-card);color:var(--fa-muted);transition:all .25s;text-align:left;width:100%;display:block}
.p54fa-chip:hover{color:var(--fa-text)}
.p54fa-answers{padding:6px 18px 20px}
.p54fa-answer{background:var(--fa-card);border:1px solid rgba(255,255,255,0.07);padding:18px;display:none}
.p54fa-answer-lbl{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.12em;color:var(--fa-faint);margin-bottom:12px;text-transform:uppercase}
.p54fa-answer-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:15px;line-height:1.7;color:var(--fa-muted)}
.p54fa-name{font-family:var(--fa-mono);font-size:10.5px;letter-spacing:0.08em;padding:5px 9px;border:1px solid rgba(31,111,235,0.5);background:rgba(31,111,235,0.12);color:var(--fa-text);white-space:nowrap;text-transform:uppercase}
.p54fa-name.you{border:1px dashed rgba(255,255,255,0.35);background:transparent;color:var(--fa-muted)}
.p54fa-gap{display:flex;gap:10px;align-items:center;border:1px dashed rgba(255,255,255,0.25);padding:12px 14px;margin-top:16px}
.p54fa-gap i{width:8px;height:8px;border:1px solid rgba(255,255,255,0.35);flex:0 0 auto;display:block}
.p54fa-gap span{font-family:var(--fa-mono);font-size:10.5px;letter-spacing:0.1em;color:var(--fa-text);text-transform:uppercase;font-style:normal}
.p54fa-cause{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px}
.p54fa-cause span{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase}
.p54fa-cause .why{color:var(--fa-accent)}
.p54fa-cause .fix{color:var(--fa-faint)}
.p54fa-hero-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:28px 0 0}
.p54fa-price-note{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.12em;color:var(--fa-faint);text-transform:uppercase}

/* hero demo state */
.p54fa[data-q="0"] .p54fa-answer[data-i="0"],
.p54fa[data-q="1"] .p54fa-answer[data-i="1"],
.p54fa[data-q="2"] .p54fa-answer[data-i="2"]{display:block}
.p54fa[data-q="0"] .p54fa-chip[data-i="0"],
.p54fa[data-q="1"] .p54fa-chip[data-i="1"],
.p54fa[data-q="2"] .p54fa-chip[data-i="2"]{border-color:var(--fa-accent);background:rgba(31,111,235,0.1);color:var(--fa-text)}
.p54fa[data-mode="auto"] .p54fa-mode-manual{display:none}
.p54fa[data-mode="manual"] .p54fa-mode-auto{display:none}

/* ==========================================================================
   CARD GRIDS (crawler + measure)
   ========================================================================== */
.p54fa-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:28px}
.p54fa-card{border:1px solid var(--fa-line);padding:24px}
.p54fa-card.accent{border-color:rgba(31,111,235,0.4);background:rgba(31,111,235,0.04)}
.p54fa-card-lbl{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.14em;color:var(--fa-muted);margin-bottom:12px;text-transform:uppercase}
.p54fa-card.accent .p54fa-card-lbl,.p54fa-card-lbl.acc{color:var(--fa-accent)}
.p54fa-card p{margin:0;font-size:15.5px;color:var(--fa-text);line-height:1.6}
.p54fa-after{margin:22px 0 0;font-size:16px;color:var(--fa-muted);line-height:1.65;max-width:62ch}
.p54fa-after.strong{margin-top:14px;color:var(--fa-text);font-weight:500}

/* ==========================================================================
   SAMPLE FINDING
   ========================================================================== */
.p54fa-find{position:relative;background:var(--fa-raised);border:1px solid var(--fa-line);margin-top:26px}
.p54fa-find-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--fa-line)}
.p54fa-find-head .tags{display:flex;gap:8px;flex-wrap:wrap}
.p54fa-tag{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.12em;padding:4px 8px;text-transform:uppercase}
.p54fa-tag.acc{color:var(--fa-accent);border:1px solid rgba(31,111,235,0.5)}
.p54fa-tag.dim{color:var(--fa-muted);border:1px solid var(--fa-line)}
.p54fa-find-head .meta{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.12em;color:var(--fa-faint);padding:4px 0;text-transform:uppercase}
.p54fa-find-body{padding:24px clamp(16px,3vw,26px);display:flex;flex-direction:column;gap:20px}
.p54fa-find-q{font-size:clamp(20px,2.6vw,26px);font-weight:600;letter-spacing:-0.015em;line-height:1.25}
.p54fa-sub{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.14em;color:var(--fa-faint);margin-bottom:10px;text-transform:uppercase}
.p54fa-sub.acc{color:var(--fa-accent);margin-bottom:8px}
.p54fa-tabs{display:flex;gap:8px;flex-wrap:wrap}
.p54fa-tab{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.12em;padding:8px 12px;cursor:pointer;user-select:none;border:1px solid rgba(255,255,255,0.18);background:transparent;color:var(--fa-muted);transition:all .2s;text-transform:uppercase}
.p54fa-engines{display:none;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.p54fa[data-lang="en"] .p54fa-engines[data-l="en"],
.p54fa[data-lang="ar"] .p54fa-engines[data-l="ar"]{display:grid}
.p54fa[data-lang="en"] .p54fa-tab[data-l="en"],
.p54fa[data-lang="ar"] .p54fa-tab[data-l="ar"]{border-color:var(--fa-accent);background:rgba(31,111,235,0.14);color:#FFFFFF}
.p54fa-engine{background:var(--fa-card);border:1px solid rgba(255,255,255,0.06);padding:16px}
.p54fa-engine.named{border-color:rgba(31,111,235,0.35)}
.p54fa-engine-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}
.p54fa-engine-head .n{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.12em;color:var(--fa-muted);text-transform:uppercase}
.p54fa-verdict{font-family:var(--fa-mono);font-size:9px;letter-spacing:0.1em;padding:2px 6px;color:var(--fa-faint);border:1px solid var(--fa-line);text-transform:uppercase;white-space:nowrap}
.p54fa-verdict.yes{color:var(--fa-accent);border-color:rgba(31,111,235,0.5)}
.p54fa-engine p{margin:0;font-size:13.5px;color:var(--fa-muted);line-height:1.6}
.p54fa-summary-chips{display:flex;gap:8px;flex-wrap:wrap}
.p54fa-schip{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.1em;color:var(--fa-text);border:1px solid rgba(255,255,255,0.18);padding:5px 9px;text-transform:uppercase}
.p54fa-schip.acc{color:var(--fa-accent);border-color:rgba(31,111,235,0.5)}
.p54fa-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;border-top:1px solid var(--fa-line);padding-top:20px}
.p54fa-why p{margin:0;font-size:14.5px;color:var(--fa-muted);line-height:1.65}
.p54fa-find-foot{padding:13px 20px;border-top:1px solid var(--fa-line);font-size:12.5px;color:var(--fa-faint)}

/* ==========================================================================
   LEVELS
   ========================================================================== */
.p54fa-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;align-items:stretch}
.p54fa-level{position:relative;background:var(--fa-card);border:1px solid var(--fa-line);padding:26px 24px 24px;cursor:pointer;display:flex;flex-direction:column;gap:18px;text-align:left;width:100%;font:inherit;color:inherit}
.p54fa-frame{position:absolute;inset:-1px;border:1px solid rgba(31,111,235,0);box-shadow:none;pointer-events:none;transition:border-color .25s,box-shadow .25s}
.p54fa-flag{position:absolute;top:-10px;left:22px;background:var(--fa-accent);color:#FFFFFF;font-family:var(--fa-mono);font-size:9.5px;font-weight:600;letter-spacing:0.12em;padding:4px 9px;text-transform:uppercase}
.p54fa-level-top{display:flex;align-items:center;justify-content:space-between}
.p54fa-level-name{font-family:var(--fa-mono);font-size:11px;letter-spacing:0.16em;color:var(--fa-muted);text-transform:uppercase}
.p54fa-dot{width:10px;height:10px;background:transparent;border:1px solid rgba(255,255,255,0.25);transition:all .2s}
.p54fa-price{font-size:34px;font-weight:800;letter-spacing:-0.015em;line-height:1}
.p54fa-exvat{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.12em;color:var(--fa-faint);margin-top:7px;text-transform:uppercase}
.p54fa-specs{font-family:var(--fa-mono);font-size:10.5px;letter-spacing:0.06em;color:var(--fa-muted);line-height:1.7;text-transform:uppercase}
.p54fa-minilbl{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.12em;color:var(--fa-faint);margin-bottom:8px;text-transform:uppercase}
.p54fa-langs{display:flex;gap:6px;flex-wrap:wrap}
.p54fa-lg{font-family:var(--fa-mono);font-size:10px;padding:4px 7px;border:1px solid rgba(255,255,255,0.1);color:var(--fa-faint);text-transform:uppercase}
.p54fa-lg.on{border-color:rgba(31,111,235,0.5);background:rgba(31,111,235,0.12);color:var(--fa-text)}
.p54fa-measure{display:flex;align-items:center;gap:6px}
.p54fa-sq{width:8px;height:8px;border:1px solid rgba(255,255,255,0.18)}
.p54fa-sq.on{background:var(--fa-accent);border-color:var(--fa-accent)}
.p54fa-measure span{font-size:13px;color:var(--fa-text);margin-left:6px}
.p54fa-level-foot{margin-top:auto;display:flex;flex-direction:column;gap:14px}
.p54fa-turn{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.1em;color:var(--fa-muted);text-transform:uppercase}
.p54fa-levels-note{font-size:13px;color:var(--fa-faint);line-height:1.6;margin:16px 0 0;max-width:70ch}

/* selected level */
.p54fa[data-level="core"] .p54fa-level[data-lv="core"] .p54fa-frame,
.p54fa[data-level="extended"] .p54fa-level[data-lv="extended"] .p54fa-frame,
.p54fa[data-level="full"] .p54fa-level[data-lv="full"] .p54fa-frame{border-color:rgba(31,111,235,0.65);box-shadow:0 0 34px rgba(31,111,235,0.16)}
.p54fa[data-level="core"] .p54fa-level[data-lv="core"] .p54fa-dot,
.p54fa[data-level="extended"] .p54fa-level[data-lv="extended"] .p54fa-dot,
.p54fa[data-level="full"] .p54fa-level[data-lv="full"] .p54fa-dot{background:var(--fa-accent);border-color:var(--fa-accent)}

/* comparison table */
.p54fa-tablewrap{overflow-x:auto;margin-top:34px;border:1px solid var(--fa-line)}
.p54fa-table{width:100%;min-width:780px;border-collapse:collapse;font-size:14.5px}
.p54fa-table th.rowhead{text-align:left;padding:14px;font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.14em;color:var(--fa-faint);font-weight:400;position:sticky;left:0;background:var(--fa-base);z-index:1;width:31%;text-transform:uppercase}
.p54fa-table th.lv{text-align:left;padding:14px;font-family:var(--fa-mono);font-size:11px;letter-spacing:0.14em;color:var(--fa-text);font-weight:600;cursor:pointer;background:transparent;transition:background .25s;text-transform:uppercase}
.p54fa-table th.lv .rec{background:var(--fa-accent);color:#FFFFFF;font-size:8.5px;letter-spacing:0.1em;padding:3px 6px;margin-left:6px;vertical-align:middle}
.p54fa-table td.rowlabel{padding:13px 14px;border-top:1px solid var(--fa-line-2);color:var(--fa-muted);font-size:13.5px;position:sticky;left:0;background:var(--fa-base);z-index:1}
.p54fa-table tr.first td{border-top-color:var(--fa-line)}
.p54fa-table tr.last td{border-top-color:var(--fa-line)}
.p54fa-table td.cell{padding:13px 14px;border-top:1px solid var(--fa-line-2);background:transparent;transition:background .25s}
.p54fa-table tr.first td.cell{border-top:1px solid var(--fa-line);font-weight:700;font-size:16px}
.p54fa-table tr.last td.cell{border-top:1px solid var(--fa-line);font-weight:600}
.p54fa[data-level="core"] .p54fa-table [data-lv="core"],
.p54fa[data-level="extended"] .p54fa-table [data-lv="extended"],
.p54fa[data-level="full"] .p54fa-table [data-lv="full"]{background:rgba(31,111,235,0.07)}
.p54fa[data-level="core"] .p54fa-table th.lv[data-lv="core"],
.p54fa[data-level="extended"] .p54fa-table th.lv[data-lv="extended"],
.p54fa[data-level="full"] .p54fa-table th.lv[data-lv="full"]{background:rgba(31,111,235,0.09)}

/* report contents disclosure */
.p54fa-details{border:1px solid var(--fa-line);margin-top:18px}
.p54fa-details > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font-family:var(--fa-mono);font-size:11px;letter-spacing:0.14em;color:var(--fa-text);text-transform:uppercase}
.p54fa-details > summary::-webkit-details-marker{display:none}
.p54fa-details > summary .plus{color:var(--fa-accent);font-size:14px}
.p54fa-contents{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 28px;padding:6px 18px 20px}
.p54fa-contents div{display:flex;gap:10px;align-items:baseline}
.p54fa-contents .n{font-family:var(--fa-mono);font-size:10px;color:var(--fa-accent)}
.p54fa-contents .t{font-size:14px;color:var(--fa-text)}
.p54fa-credit{border:1px solid rgba(31,111,235,0.35);background:rgba(31,111,235,0.05);padding:18px 20px;margin-top:18px;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
.p54fa-credit .lbl{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.14em;color:var(--fa-accent);flex:0 0 auto;text-transform:uppercase}
.p54fa-credit p{margin:0;font-size:15px;color:var(--fa-text);line-height:1.6;max-width:75ch}

/* ==========================================================================
   SCOPE BUILDER
   ========================================================================== */
.p54fa-builder{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;align-items:start}
.p54fa-bcol{display:flex;flex-direction:column;gap:26px}
.p54fa-steplbl{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.14em;color:var(--fa-faint);margin-bottom:10px;text-transform:uppercase}
.p54fa-segs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.p54fa-seg{padding:12px 10px;border:1px solid rgba(255,255,255,0.18);background:transparent;color:var(--fa-muted);cursor:pointer;font-family:var(--fa-mono);font-size:10.5px;letter-spacing:0.1em;text-align:center;line-height:1.7;transition:all .2s;user-select:none;text-transform:uppercase}
.p54fa-seg .amt{font-size:14px;font-weight:600;letter-spacing:0}
.p54fa-note{font-size:12.5px;color:var(--fa-faint);margin-top:8px}
.p54fa-addons{border:1px solid var(--fa-line)}
.p54fa-addon{padding:16px 18px;border-bottom:1px solid var(--fa-line-2)}
.p54fa-addon:last-child{border-bottom:0}
.p54fa-addon-row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.p54fa-addon-t{font-size:15px;color:var(--fa-text)}
.p54fa-addon-p{font-family:var(--fa-mono);font-size:12px;color:var(--fa-muted);text-transform:uppercase}
.p54fa-addon-s{font-size:13px;color:var(--fa-faint)}
.p54fa-days{display:grid;grid-template-columns:repeat(4,minmax(56px,1fr));gap:8px;max-width:340px}
.p54fa-day{padding:9px 6px;line-height:1;border:1px solid rgba(255,255,255,0.18);background:transparent;color:var(--fa-muted);cursor:pointer;font-family:var(--fa-mono);font-size:10.5px;letter-spacing:0.1em;text-align:center;transition:all .2s;user-select:none;text-transform:uppercase}
.p54fa-stepper{display:flex;align-items:center;gap:8px}
.p54fa-step{width:26px;height:26px;border:1px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fa-text);font-size:14px;user-select:none;transition:border-color .2s;background:transparent}
.p54fa-step:hover{border-color:var(--fa-accent)}
.p54fa-stepn{font-family:var(--fa-mono);font-size:13px;min-width:14px;text-align:center}
.p54fa-check{display:flex;gap:14px;align-items:flex-start;cursor:pointer;width:100%;text-align:left;font:inherit;color:inherit;background:none}
.p54fa-box{flex:0 0 auto;width:17px;height:17px;margin-top:2px;border:1px solid rgba(255,255,255,0.25);background:transparent;color:transparent;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .2s}
.p54fa-check-body{flex:1;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.p54fa-builder-note{font-size:13px;color:var(--fa-faint);margin-top:10px;line-height:1.6}

/* builder state */
.p54fa[data-blevel="core"] .p54fa-seg[data-lv="core"],
.p54fa[data-blevel="extended"] .p54fa-seg[data-lv="extended"],
.p54fa[data-blevel="full"] .p54fa-seg[data-lv="full"],
.p54fa[data-days="0"] .p54fa-day[data-d="0"],
.p54fa[data-days="2"] .p54fa-day[data-d="2"],
.p54fa[data-days="5"] .p54fa-day[data-d="5"],
.p54fa[data-days="10"] .p54fa-day[data-d="10"]{border-color:var(--fa-accent);background:rgba(31,111,235,0.14);color:#FFFFFF}
.p54fa[data-co="1"] .p54fa-box[data-for="co"],
.p54fa[data-t90="1"] .p54fa-box[data-for="t90"]{border-color:var(--fa-accent);background:var(--fa-accent);color:#FFFFFF}
.p54fa-t90{transition:opacity .2s}
.p54fa[data-blevel="core"] .p54fa-t90{opacity:.4}
.p54fa[data-blevel="core"] .p54fa-t90 .p54fa-check{cursor:default}

/* summary card */
.p54fa-summary{position:sticky;top:90px;background:var(--fa-card);border:1px solid var(--fa-line);padding:26px 24px;display:flex;flex-direction:column;gap:16px}
.p54fa-summary-lbl{font-family:var(--fa-mono);font-size:10px;letter-spacing:0.16em;color:var(--fa-muted);text-transform:uppercase}
.p54fa-lines{display:flex;flex-direction:column;gap:9px}
.p54fa-line{display:none;justify-content:space-between;gap:14px;font-size:14px}
.p54fa-line .l{color:var(--fa-muted)}
.p54fa-line .a{font-family:var(--fa-mono);font-size:12.5px;color:var(--fa-text);white-space:nowrap}
.p54fa-total-wrap{border-top:1px solid var(--fa-line);padding-top:16px}
.p54fa-total-lbl{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.14em;color:var(--fa-faint);text-transform:uppercase}
.p54fa-total{font-size:40px;font-weight:800;letter-spacing:-0.015em;line-height:1.1;margin-top:6px}
.p54fa-from{display:none}
.p54fa[data-co="1"] .p54fa-from{display:inline}
.p54fa-repeat-note{font-size:13px;color:var(--fa-faint);margin-top:8px}
.p54fa-repeat{display:none}
.p54fa[data-blevel="core"] .p54fa-repeat[data-lv="core"],
.p54fa[data-blevel="extended"] .p54fa-repeat[data-lv="extended"],
.p54fa[data-blevel="full"] .p54fa-repeat[data-lv="full"]{display:inline}
.p54fa-summary p.credit{margin:0;font-size:13.5px;color:var(--fa-muted);line-height:1.6;border-top:1px solid var(--fa-line);padding-top:14px}

/* summary line visibility */
.p54fa[data-blevel="core"] .p54fa-line[data-line="lv-core"],
.p54fa[data-blevel="extended"] .p54fa-line[data-line="lv-extended"],
.p54fa[data-blevel="full"] .p54fa-line[data-line="lv-full"],
.p54fa[data-days="2"] .p54fa-line[data-line="d-2"],
.p54fa[data-days="5"] .p54fa-line[data-line="d-5"],
.p54fa[data-days="10"] .p54fa-line[data-line="d-10"],
.p54fa[data-langs="1"] .p54fa-line[data-line="lang-1"],
.p54fa[data-langs="2"] .p54fa-line[data-line="lang-2"],
.p54fa[data-langs="3"] .p54fa-line[data-line="lang-3"],
.p54fa[data-langs="4"] .p54fa-line[data-line="lang-4"],
.p54fa[data-co="1"] .p54fa-line[data-line="co"],
.p54fa[data-t90="1"] .p54fa-line[data-line="t90"]{display:flex}

/* ==========================================================================
   COMMITMENT
   ========================================================================== */
.p54fa-commit{position:relative;background:var(--fa-card);border:1px solid var(--fa-line);padding:clamp(28px,4.5vw,48px)}
.p54fa-commit h2{margin:16px 0 0;font-size:clamp(26px,3.6vw,42px);font-weight:700;letter-spacing:-0.018em;line-height:1.1}
.p54fa-commit p{margin:20px 0 0;font-size:clamp(16px,1.6vw,19px);color:var(--fa-text);line-height:1.65;max-width:66ch}

/* ==========================================================================
   FAQ
   ========================================================================== */
.p54fa-faq{border-top:1px solid var(--fa-line);margin-top:26px}
.p54fa-faq details{border-bottom:1px solid var(--fa-line)}
.p54fa-faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:19px 2px}
.p54fa-faq summary::-webkit-details-marker{display:none}
.p54fa-faq summary .q{font-size:16.5px;font-weight:600;letter-spacing:-0.01em}
.p54fa-faq summary .plus{font-family:var(--fa-mono);color:var(--fa-accent);font-size:15px;flex:0 0 auto}
.p54fa-faq p{margin:0;padding:0 2px 20px;font-size:15px;color:var(--fa-muted);line-height:1.65;max-width:72ch}

/* ==========================================================================
   REQUEST FORM
   ========================================================================== */
.p54fa-form{display:flex;flex-direction:column;gap:22px}
.p54fa-fseg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.p54fa[data-flevel="core"] .p54fa-seg[data-flv="core"],
.p54fa[data-flevel="extended"] .p54fa-seg[data-flv="extended"],
.p54fa[data-flevel="full"] .p54fa-seg[data-flv="full"]{border-color:var(--fa-accent);background:rgba(31,111,235,0.14);color:#FFFFFF}
.p54fa-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.p54fa-flbl{font-family:var(--fa-mono);font-size:9.5px;letter-spacing:0.12em;color:var(--fa-faint);margin-bottom:7px;text-transform:uppercase;display:block}
.p54fa-form input[type=text],.p54fa-form input[type=email],.p54fa-form textarea{width:100%;background:var(--fa-raised);border:1px solid rgba(255,255,255,0.14);padding:12px 13px;color:var(--fa-text);font-size:14.5px;outline:none;transition:border-color .2s;font-family:var(--fa-sans);border-radius:0}
.p54fa-form input:focus,.p54fa-form textarea:focus{border-color:var(--fa-accent)}
.p54fa-form textarea{resize:vertical}
.p54fa-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.p54fa-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.p54fa-privacy{margin:0;font-size:12.5px;color:var(--fa-faint);line-height:1.6;max-width:70ch}
.p54fa-privacy a{color:var(--fa-muted);text-decoration:underline}
.p54fa-error{display:none;border:1px solid rgba(255,120,120,0.45);background:rgba(255,120,120,0.06);padding:14px 16px;font-size:14px;color:#ECECEA}
.p54fa-done{display:none;border:1px solid rgba(31,111,235,0.4);background:rgba(31,111,235,0.05);padding:34px 30px;flex-direction:column;gap:12px;max-width:640px}
.p54fa-done .tick{font-family:var(--fa-mono);color:var(--fa-accent);font-size:22px}
.p54fa-done .h{font-size:24px;font-weight:700;letter-spacing:-0.015em}
.p54fa-done p{margin:0;font-size:15px;color:var(--fa-muted);line-height:1.65}
.p54fa-done a{font-family:var(--fa-mono);font-size:11px;letter-spacing:0.12em;color:var(--fa-accent);text-decoration:none;margin-top:6px;text-transform:uppercase}
.p54fa.is-sent .p54fa-form{display:none}
.p54fa.is-sent .p54fa-done{display:flex}
.p54fa.has-error .p54fa-error{display:block}
.p54fa-form button[disabled]{opacity:.55;cursor:default}

/* ==========================================================================
   MOBILE
   ========================================================================== */
@media (max-width:860px){
  .p54fa-summary{position:static;top:auto}
}
@media (max-width:600px){
  .p54fa-segs{grid-template-columns:1fr}
  .p54fa-hero-cta{gap:10px}
  .p54fa-btn{width:100%;text-align:center}
  .p54fa-price-note{width:100%}
}
