.neck-functional{
  --ink:#273238;
  --muted:#5d686e;
  --cranial:#397078;
  --manual:#b55a42;
  --accent:#7f486a;
  --paper:#f7f4ef;
  --line:#ddd7cf;
  background:#fff;
  color:var(--ink);
}
.neck-functional *{box-sizing:border-box}
.neck-functional h1,
.neck-functional h2,
.neck-functional h3{letter-spacing:-.035em}
.nf-kicker{
  margin:0 0 10px;
  color:var(--accent);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nf-hero{
  padding:46px 0 42px;
  background:linear-gradient(112deg,#faf9f7,#eee9e4);
}
.nf-hero-grid{
  display:grid;
  grid-template-columns:1.03fr .97fr;
  gap:50px;
  align-items:center;
}
.nf-hero h1{
  margin:0 0 18px;
  font-size:clamp(2.75rem,4.5vw,4.8rem);
  line-height:.98;
}
.nf-hero h1 span{color:var(--accent)}
.nf-lead{
  max-width:690px;
  margin:0;
  color:var(--muted);
  font-size:1.03rem;
  line-height:1.65;
}
.nf-thesis{
  margin-top:20px;
  padding:15px 18px;
  border-left:3px solid var(--accent);
  background:rgba(255,255,255,.65);
  line-height:1.5;
}
.nf-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.nf-btn{
  display:inline-flex;
  align-items:center;
  min-height:45px;
  padding:0 19px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
}
.nf-btn.primary{background:var(--accent);color:#fff}
.nf-btn.secondary{background:#fff;color:var(--cranial);border:1px solid #9abdc0}
.nf-hero-media{height:420px;overflow:hidden;border-radius:22px}
.nf-hero-media img{display:block;width:100%;height:100%;object-fit:cover}

.nf-transition{padding:62px 0;background:#fff}
.nf-transition-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:58px;
  align-items:center;
}
.nf-transition h2,
.nf-senses h2,
.nf-daily h2,
.nf-clinical h2{
  margin:0 0 16px;
  font-size:clamp(2rem,3.2vw,3.2rem);
  line-height:1.05;
}
.nf-copy p{margin:0 0 14px;color:var(--muted);line-height:1.7}
.nf-highlight{
  margin-top:21px;
  padding:17px 19px;
  border-left:3px solid var(--accent);
  background:var(--paper);
  font-weight:700;
  line-height:1.5;
}

/* Visuale CSS: due domini che convergono nel collo */
.nf-interface{
  position:relative;
  min-height:480px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(180deg,#edf4f3 0 42%,#f7f4ef 58% 100%);
  overflow:hidden;
}
.nf-interface:before{
  content:"";
  position:absolute;
  left:50%;
  top:62px;
  bottom:62px;
  width:2px;
  background:linear-gradient(var(--cranial),var(--accent),var(--manual));
}
.nf-domain{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.nf-domain.manual{position:absolute;left:24px;right:24px;bottom:24px}
.nf-node{
  min-height:72px;
  padding:14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dce4e2;
  box-shadow:0 8px 24px rgba(39,50,56,.06);
}
.nf-node strong{display:block;margin-bottom:4px;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}
.nf-node span{color:var(--muted);font-size:.78rem;line-height:1.4}
.nf-domain.cranial strong{color:var(--cranial)}
.nf-domain.manual strong{color:var(--manual)}
.nf-neck-node{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:150px;
  min-height:96px;
  padding:18px 12px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  text-align:center;
  box-shadow:0 14px 35px rgba(77,45,65,.25);
}
.nf-neck-node strong{display:block;font-size:1.15rem}
.nf-neck-node span{display:block;margin-top:5px;font-size:.72rem;line-height:1.35;opacity:.9}

.nf-senses{padding:62px 0;background:#edf3f2}
.nf-senses-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:56px;
  align-items:center;
}
.nf-senses p{color:var(--muted);line-height:1.68}
.nf-tc-visual{
  position:relative;
  min-height:360px;
  border-radius:24px;
  background:#fff;
  border:1px solid #d8e2e0;
}
.nf-tc-center{
  position:absolute;
  left:50%;
  top:50%;
  width:150px;
  height:150px;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  text-align:center;
  font-weight:800;
  line-height:1.25;
}
.nf-tc-orbit{
  position:absolute;
  width:112px;
  padding:13px;
  border-radius:14px;
  background:#f7f5f1;
  text-align:center;
  font-size:.74rem;
  font-weight:800;
}
.nf-tc-orbit:after{
  content:"";
  position:absolute;
  height:2px;
  width:76px;
  background:#b8aaa3;
  top:50%;
}
.nf-tc-orbit.head{top:28px;left:28px;color:var(--cranial)}
.nf-tc-orbit.head:after{left:100%;transform:rotate(25deg);transform-origin:left}
.nf-tc-orbit.neck{right:28px;bottom:28px;color:var(--manual)}
.nf-tc-orbit.neck:after{right:100%;transform:rotate(25deg);transform-origin:right}
.nf-evidence{
  margin-top:18px;
  padding:14px 17px;
  background:#fff;
  border-left:3px solid var(--cranial);
  font-size:.86rem;
  line-height:1.55;
}

.nf-daily{padding:44px 0;background:#fff}
.nf-daily-head{width:100%;margin-bottom:18px}
.nf-daily-head p{margin-bottom:0;color:var(--muted);line-height:1.65}

.nf-daily-visual{
  width:100%;
  margin:0;
}
.nf-daily-visual img{
  display:block;
  width:100%;
  aspect-ratio:5 / 1;
  object-fit:cover;
  object-position:center;
  border-radius:14px;
}
.nf-daily-caption{
  display:grid;
  grid-template-columns:minmax(220px,.34fr) 1fr;
  gap:28px;
  align-items:start;
  width:100%;
  margin-top:16px;
  padding:16px 18px;
  border-left:3px solid var(--accent);
  background:var(--paper);
}
.nf-daily-caption strong{
  font-size:1rem;
  line-height:1.4;
}
.nf-daily-caption p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

.nf-daily-notes{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  width:100%;
  margin:14px auto 0;
}
.nf-daily-notes article{
  padding:2px 18px;
  border-left:1px solid var(--line);
}
.nf-daily-notes article:first-child{border-left:0}
.nf-daily-notes h3{
  margin:0 0 6px;
  color:var(--ink);
  font-size:.92rem;
}
.nf-daily-notes p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}

.nf-clinical{padding:62px 0;background:var(--paper)}
.nf-clinical-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:start;
}
.nf-clinical p{color:var(--muted);line-height:1.68}
.nf-questions{display:grid;gap:10px}
.nf-question{
  padding:17px 19px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
  font-weight:700;
  line-height:1.45;
}
.nf-note{
  margin-top:19px;
  padding:15px 18px;
  border-left:3px solid var(--manual);
  background:#fff;
  color:var(--muted);
  font-size:.87rem;
  line-height:1.55;
}
.nf-final{padding:43px 0;text-align:center;background:#fff}
.nf-final p{
  max-width:920px;
  margin:0 auto 22px;
  font-size:clamp(1.35rem,2vw,1.85rem);
  line-height:1.42;
  font-weight:700;
}
.nf-final .nf-actions{justify-content:center}

@media(max-width:900px){
  .nf-hero-grid,.nf-transition-grid,.nf-senses-grid,.nf-clinical-grid{grid-template-columns:1fr}
  .nf-hero-media{height:320px}
  .nf-daily-notes{grid-template-columns:1fr 1fr;row-gap:18px}
  .nf-daily-notes article:nth-child(3){border-left:0}
}
@media(max-width:600px){
  .nf-hero,.nf-transition,.nf-senses,.nf-daily,.nf-clinical{padding:40px 0}
  .nf-interface{min-height:540px}
  .nf-domain{grid-template-columns:1fr}
  .nf-domain.manual{position:absolute}
  .nf-node{min-height:auto}
  .nf-daily-notes{grid-template-columns:1fr}
  .nf-daily-notes article{padding:10px 0;border-left:0;border-top:1px solid var(--line)}
  .nf-daily-notes article:first-child{border-top:0}
  .nf-tc-visual{min-height:330px}
  .nf-tc-orbit{width:100px}
}
