/* =============================================================================
   furnisystems.ro flagship v4
   pages.css: the permanent layer. Styles used only by the five inner pages
   (/training-ai/, /automatizare-si-agenti/, /sisteme/, /proiecte/, /contact/).
   Loaded AFTER assets/site.css. Owned by the inner-pages builder.
   No photography, no fill on cards, transform and opacity only.
   ========================================================================== */

/* --------------------------------------------------------- local tokens -- */
/* --sc-metal is an edge and hairline colour. On the dark ground it measures
   around 2.1:1, so it must never carry text. --fs-dim is the quiet label ink
   that still clears AA (about 6.4:1 on --sc-canvas). */
:root{ --fs-dim:#8A8D93; }

/* ---------------------------------------------------- inner page chrome -- */
/* The shared bar is transparent because the homepage hero runs under it.
   A permanent-layer page has no hero, so live type scrolls under the bar and
   collides with the nav. Scoped to .fs-inner so the homepage is untouched;
   site.css and chrome.html are not modified. */
.fs-inner .fs-hdr{
  background:rgba(11,12,15,.88);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:inset 0 -1px 0 var(--sc-hairline);
}
/* anchors land below the bar, not under it. pages.css is linked only by the
   five inner pages, so this never reaches the homepage. */
html{ scroll-padding-top:calc(var(--fs-hdr-h) + 1.5rem); }

/* The footer base line ships at --sc-metal, which measures 3.09:1 on the
   canvas and fails AA for 13px text. Overridden here so the inner pages pass;
   the same one line belongs in site.css .fs-foot__base (see the handoff note),
   after which this rule is a harmless no-op with the identical value. */
.fs-inner .fs-foot__base{ color:var(--fs-dim); }

/* ------------------------------------------------------------- page head -- */
.fs-head{ position:relative; }
.fs-head__in{ max-width:var(--sc-maxw); margin-inline:auto; padding-inline:var(--sc-gutter); }
.fs-head h1{
  font-family:var(--sc-font-display);
  font-size:var(--sc-t-3xl);
  font-weight:560; letter-spacing:-0.032em; line-height:1.0;
  text-wrap:balance;
  max-width:25ch;
  margin-top:1.1rem;
}
.fs-head__lede{
  margin-top:clamp(1.4rem,2.6vw,2.2rem);
  max-width:52ch;
  font-size:clamp(1.05rem,0.98rem + 0.4vw,1.3rem);
  line-height:1.56;
  color:var(--sc-ink-soft);
  text-wrap:pretty;
}
.fs-head__cta{
  margin-top:clamp(2rem,4vw,3rem);
  display:flex; flex-wrap:wrap; align-items:center; gap:.9rem 1.2rem;
}

/* A single hairline under the page head, edge to edge, as the horizon line. */
.fs-horizon{
  margin-top:clamp(3.5rem,7vw,6rem);
  height:1px; border:0;
  background:linear-gradient(90deg,transparent,var(--sc-hairline-strong) 12%,var(--sc-hairline-strong) 88%,transparent);
}

/* -------------------------------------------------------------- sections -- */
.fs-sec{ padding-block:clamp(4rem,8vw,8.5rem); }
.fs-sec--tight{ padding-block:clamp(2.5rem,5vw,5rem); }
.fs-sec__in{ max-width:var(--sc-maxw); margin-inline:auto; padding-inline:var(--sc-gutter); }

.fs-h2{
  font-family:var(--sc-font-display);
  font-size:var(--sc-t-2xl);
  font-weight:560; letter-spacing:-0.026em; line-height:1.08;
  text-wrap:balance;
  max-width:24ch;
}
.fs-h2--wide{ max-width:30ch; }
.fs-h3{
  font-family:var(--sc-font-display);
  font-size:var(--sc-t-lg); font-weight:600; letter-spacing:-0.018em; line-height:1.2;
}
.fs-p{
  margin-top:1.35rem;
  max-width:var(--sc-measure);
  color:var(--sc-ink-soft);
  text-wrap:pretty;
}
.fs-p + .fs-p{ margin-top:1.05rem; }
.fs-p strong{ color:var(--sc-ink); font-weight:560; }

/* trail anchor: the block sits to the right on wide screens */
.fs-sec--trail .fs-sec__in{ display:flex; justify-content:flex-end; }
@media (min-width:960px){
  .fs-sec--trail .fs-sec__body{ width:min(62ch,66%); }
}

/* centre anchor, for the one statement that carries a section on its own */
.fs-statement{
  max-width:var(--sc-maxw); margin-inline:auto; padding-inline:var(--sc-gutter);
  text-align:center;
}
.fs-statement p{
  font-family:var(--sc-font-display);
  font-size:clamp(1.5rem,1rem + 2.1vw,2.5rem);
  font-weight:500; letter-spacing:-0.024em; line-height:1.22;
  max-width:26ch; margin-inline:auto;
  text-wrap:balance;
}
.fs-statement .fs-statement__foot{
  margin-top:1.6rem; font-family:var(--sc-font-text); font-size:1rem;
  font-weight:380; letter-spacing:0; line-height:1.6;
  color:var(--sc-ink-soft); max-width:56ch;
}

/* -------------------------------------------------- hairline definitions -- */
/* label + line, no boxes. Replaces a grid of identical cards. */
.fs-defs{ margin-top:clamp(2.5rem,5vw,4rem); border-top:1px solid var(--sc-hairline); }
.fs-defs__row{
  display:grid; gap:.55rem 2.5rem; grid-template-columns:1fr;
  padding-block:clamp(1.5rem,3vw,2.4rem);
  border-bottom:1px solid var(--sc-hairline);
}
@media (min-width:820px){
  .fs-defs__row{ grid-template-columns:minmax(13rem,22%) 1fr; align-items:baseline; }
}
.fs-defs__k{
  font-family:var(--sc-font-display); font-weight:600;
  font-size:1.05rem; letter-spacing:-0.018em; color:var(--sc-ink);
}
.fs-defs__v{ color:var(--sc-ink-soft); max-width:56ch; text-wrap:pretty; }

/* ------------------------------------------------------- the 4 step line -- */
.fs-steps{ margin-top:clamp(2.5rem,5vw,4rem); }
.fs-steps__track{
  display:grid; gap:clamp(2rem,4vw,2.5rem);
  grid-template-columns:1fr;
}
@media (min-width:900px){
  .fs-steps__track{ grid-template-columns:repeat(4,1fr); gap:clamp(1.5rem,2.6vw,2.5rem); }
}
/* the process line: one hairline segment per step, one node on each. */
.fs-step{ position:relative; padding-top:2.2rem; }
.fs-step::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:var(--sc-hairline-strong);
}
.fs-step::after{
  content:""; position:absolute; top:-3.5px; left:0;
  width:8px; height:8px; border-radius:50%;
  background:var(--sc-metal);
}
.fs-step--first::after{ background:var(--sc-accent); }
.fs-step__k{
  font-family:var(--sc-font-display); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:600; color:var(--fs-dim);
}
.fs-step h3{
  margin-top:.55rem;
  font-family:var(--sc-font-display); font-size:1.18rem; font-weight:580;
  letter-spacing:-0.02em; line-height:1.16;
}
.fs-step p{ margin-top:.7rem; color:var(--sc-ink-soft); font-size:.97rem; text-wrap:pretty; }

/* ------------------------------------------------------- the order flow -- */
.fs-flow{
  margin-top:clamp(2.5rem,5vw,4rem);
  display:flex; flex-direction:column; align-items:stretch; gap:0;
}
@media (min-width:880px){
  .fs-flow{ flex-direction:row; align-items:stretch; }
}
.fs-flow__node{
  border:1px solid var(--sc-hairline);
  border-radius:var(--sc-r-lg);
  padding:clamp(1.1rem,2.2vw,1.6rem);
  background:transparent;
  flex:1 1 0;
}
.fs-flow__node h3{
  font-family:var(--sc-font-display); font-size:1.15rem; font-weight:600;
  letter-spacing:-0.02em;
}
.fs-flow__node p{ margin-top:.5rem; color:var(--sc-ink-soft); font-size:.94rem; }
.fs-flow__arrow{
  display:flex; align-items:center; justify-content:center;
  color:var(--fs-dim);
  padding:.9rem 0;
}
@media (min-width:880px){ .fs-flow__arrow{ padding:0 .9rem; } }
.fs-flow__arrow svg{ display:block; width:34px; height:34px; transform:rotate(90deg); }
@media (min-width:880px){ .fs-flow__arrow svg{ transform:none; } }
.fs-flow__foot{
  margin-top:1.6rem; color:var(--sc-ink-soft); font-size:.97rem;
  display:flex; align-items:flex-start; gap:.6rem;
}
.fs-flow__foot svg{ flex:none; color:var(--sc-accent); margin-top:.32rem; }

/* --------------------------------------------------------- case studies -- */
.fs-cases{ margin-top:clamp(2.5rem,5vw,4rem); display:grid; gap:clamp(1.4rem,2.6vw,2rem); }
.fs-case{
  border:1px solid var(--sc-hairline);
  border-radius:var(--sc-r-lg);
  padding:clamp(1.5rem,3vw,2.6rem);
  background:transparent;
  display:grid; gap:1.6rem 3rem; grid-template-columns:1fr;
}
@media (min-width:940px){
  .fs-case{ grid-template-columns:minmax(15rem,30%) 1fr; }
  .fs-case--flip{ grid-template-columns:1fr minmax(15rem,30%); }
  .fs-case--flip .fs-case__head{ order:2; }
}
.fs-case__who{
  font-family:var(--sc-font-display); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:600; color:var(--fs-dim);
}
.fs-case__head h3{
  margin-top:.7rem;
  font-family:var(--sc-font-display); font-size:var(--sc-t-xl);
  font-weight:580; letter-spacing:-0.024em; line-height:1.1; text-wrap:balance;
}
.fs-case__parts{ display:grid; gap:1.3rem; }
.fs-case__part dt{
  font-family:var(--sc-font-display); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:600; color:var(--fs-dim);
  margin-bottom:.4rem;
}
.fs-case__part dd{ margin:0; color:var(--sc-ink-soft); max-width:60ch; text-wrap:pretty; }
.fs-case__part--proof dd{ color:var(--sc-ink); font-weight:460; }
.fs-case__part--proof dt{ color:var(--sc-accent); }

/* Capital Fortress: our own, so it reads differently from the client work. */
.fs-own{
  margin-top:clamp(1.4rem,2.6vw,2rem);
  border:1px solid var(--sc-hairline-strong);
  border-radius:var(--sc-r-lg);
  padding:clamp(1.5rem,3vw,2.6rem);
}
.fs-own h3{
  margin-top:.7rem;
  font-family:var(--sc-font-display); font-size:var(--sc-t-xl);
  font-weight:580; letter-spacing:-0.024em; line-height:1.1;
}
.fs-own__links{ margin-top:1.6rem; display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; }

/* --------------------------------------------------------------- stats -- */
.fs-stats{
  margin-top:clamp(2.5rem,5vw,4rem);
  display:grid; gap:clamp(1.8rem,3.5vw,2.5rem);
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--sc-hairline);
  padding-top:clamp(2rem,4vw,3rem);
}
@media (min-width:900px){ .fs-stats{ grid-template-columns:repeat(4,1fr); } }
.fs-stat__n{
  font-family:var(--sc-font-display);
  font-size:clamp(2.6rem,1.6rem + 3.4vw,4.4rem);
  font-weight:560; letter-spacing:-0.04em; line-height:0.98;
  font-variant-numeric:tabular-nums;
  color:var(--sc-ink);
}
.fs-stat__n span{ font-variant-numeric:tabular-nums; }
.fs-stat__l{
  margin-top:.85rem; color:var(--sc-ink-soft);
  font-size:.94rem; line-height:1.5; max-width:26ch; text-wrap:pretty;
}

/* ---------------------------------------------------------------- price -- */
.fs-price{
  font-family:var(--sc-font-display);
  font-size:clamp(1.9rem,1.2rem + 2.4vw,3rem);
  font-weight:560; letter-spacing:-0.028em; line-height:1.08;
}
.fs-price em{ font-style:normal; color:var(--sc-accent); }

/* ------------------------------------------------------ objection block -- */
.fs-objection{
  border-left:1px solid var(--sc-accent);
  padding-left:clamp(1.2rem,3vw,2.4rem);
}
.fs-objection q{
  display:block;
  font-family:var(--sc-font-display);
  font-size:var(--sc-t-xl); font-weight:520; letter-spacing:-0.022em; line-height:1.22;
  quotes:"„" "”";
  max-width:24ch; text-wrap:balance;
}

/* ------------------------------------------------------ compliance note -- */
.fs-note{
  margin-top:clamp(2.5rem,5vw,4rem);
  border-top:1px solid var(--sc-hairline);
  padding-top:clamp(1.6rem,3vw,2.2rem);
  display:grid; gap:.9rem 3rem; grid-template-columns:1fr;
}
@media (min-width:820px){ .fs-note{ grid-template-columns:minmax(13rem,22%) 1fr; } }
.fs-note p{ color:var(--sc-ink-soft); max-width:62ch; text-wrap:pretty; }

/* ---------------------------------------------------------------- lists -- */
.fs-ticks{ margin-top:clamp(1.8rem,3.5vw,2.6rem); display:grid; gap:1rem; }
.fs-ticks li{
  display:grid; grid-template-columns:auto 1fr; gap:.85rem; align-items:start;
  color:var(--sc-ink-soft); max-width:62ch;
}
.fs-ticks svg{ margin-top:.42rem; color:var(--sc-accent); flex:none; }

/* ------------------------------------------------------------- contact -- */
.fs-contact{
  margin-top:clamp(2.5rem,5vw,4rem);
  display:grid; gap:clamp(1.6rem,3vw,2.5rem);
  grid-template-columns:1fr;
}
@media (min-width:940px){ .fs-contact{ grid-template-columns:1fr 1fr; align-items:start; } }

.fs-panel{
  border:1px solid var(--sc-hairline);
  border-radius:var(--sc-r-lg);
  padding:clamp(1.5rem,3vw,2.4rem);
}
.fs-panel__k{
  font-family:var(--sc-font-display); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:600; color:var(--fs-dim);
}
.fs-tel{
  display:inline-block; margin-top:.9rem;
  font-family:var(--sc-font-display);
  font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);
  font-weight:560; letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
  color:var(--sc-ink);
  box-shadow:inset 0 -1px 0 var(--sc-hairline-strong);
  transition:box-shadow 150ms var(--sc-ease-out), color 150ms var(--sc-ease-out);
}
.fs-tel:hover{ color:var(--sc-accent); box-shadow:inset 0 -1px 0 var(--sc-accent); }

/* the Cal.com slot placeholder: visually finished, no backend */
.fs-slot{ margin-top:1.4rem; border-top:1px solid var(--sc-hairline); padding-top:1.4rem; }
.fs-slot__row{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.fs-slot__t{ font-family:var(--sc-font-display); font-weight:600; font-size:1.05rem; letter-spacing:-0.018em; }
.fs-slot__d{ color:var(--fs-dim); font-size:.85rem; font-variant-numeric:tabular-nums; }
.fs-slot__grid{ margin-top:1.1rem; display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; }
.fs-slot__cell{
  border:1px solid var(--sc-hairline);
  border-radius:var(--sc-r-sm);
  padding:.55rem .4rem;
  text-align:center;
  font-size:.85rem; font-variant-numeric:tabular-nums;
  color:var(--fs-dim);
}
.fs-slot__cell--on{ color:var(--sc-ink); border-color:var(--sc-hairline-strong); }
.fs-slot__note{ margin-top:1rem; color:var(--fs-dim); font-size:.85rem; }
.fs-slot .fs-ghost{ margin-top:1.1rem; }

/* --------------------------------------------------------------- form -- */
.fs-form{ margin-top:1.5rem; display:grid; gap:1.1rem; }
@media (min-width:620px){ .fs-form{ grid-template-columns:1fr 1fr; } }
.fs-field{ display:grid; gap:.45rem; }
.fs-field--wide{ grid-column:1 / -1; }
.fs-field label{
  font-family:var(--sc-font-display); font-size:.78rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:var(--sc-ink-soft);
}
.fs-field input, .fs-field textarea{
  font:inherit; font-size:1rem;
  color:var(--sc-ink);
  background:transparent;
  border:1px solid var(--sc-hairline-strong);
  border-radius:var(--sc-r-sm);
  padding:.7rem .85rem;
  width:100%;
  transition:border-color 150ms var(--sc-ease-out);
}
.fs-field textarea{ min-height:7.5rem; resize:vertical; }
.fs-field input::placeholder, .fs-field textarea::placeholder{ color:var(--fs-dim); }
.fs-field input:hover, .fs-field textarea:hover{ border-color:var(--sc-metal); }
.fs-field input:focus-visible, .fs-field textarea:focus-visible{ border-color:var(--sc-accent); }
.fs-form__foot{
  grid-column:1 / -1;
  display:flex; flex-wrap:wrap; align-items:center; gap:.9rem 1.2rem;
}
.fs-form__hint{ color:var(--fs-dim); font-size:.85rem; max-width:40ch; }
.fs-form__status{ grid-column:1 / -1; color:var(--sc-accent); font-size:.95rem; }

/* the disabled diagnostic control plus its state word */
.fs-soon{ display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-top:1.6rem; }
.fs-soon__state{
  font-family:var(--sc-font-display); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:600; color:var(--fs-dim);
}

/* --------------------------------------------------------------- close -- */
.fs-close{
  border-top:1px solid var(--sc-hairline);
  padding-block:clamp(3.5rem,7vw,6.5rem);
}
.fs-close__in{
  max-width:var(--sc-maxw); margin-inline:auto; padding-inline:var(--sc-gutter);
}
.fs-close h2{
  font-family:var(--sc-font-display);
  font-size:var(--sc-t-2xl); font-weight:560; letter-spacing:-0.026em; line-height:1.08;
  max-width:20ch; text-wrap:balance;
}
.fs-close__cta{ margin-top:clamp(1.8rem,3.5vw,2.6rem); display:flex; flex-wrap:wrap; gap:.9rem 1.2rem; align-items:center; }

/* --------------------------------------------------------- phone tuning -- */
@media (max-width:520px){
  .fs-head h1{ font-size:clamp(2.1rem,1.2rem + 4.4vw,2.6rem); max-width:none; }
  .fs-h2{ max-width:none; }
  .fs-objection q{ max-width:none; }
  .fs-slot__grid{ grid-template-columns:repeat(3,1fr); }
}

/* -------------------------------------------------------- reduced motion -- */
@media (prefers-reduced-motion: reduce){
  .fs-tel, .fs-field input, .fs-field textarea{ transition:none; }
}
