/* PEPTIDIUM — IL RIGORE
   Pagina manifesto editoriale. La landing principale mantiene struttura e animazione originali. */

.rigore-body{ background:var(--ink); color:var(--marble) }
.rigore-body main{ position:relative; z-index:2; overflow:hidden }
.rigore-nav{ background:rgba(5,4,3,.78) }
.rigore-nav__links a:first-child::after{ width:100% }

.rigore-hero{
  position:relative; min-height:100svh; display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  align-items:stretch; border-bottom:1px solid var(--line-2); background:var(--ink);
}
.rigore-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 18% 48%,rgba(217,164,65,.08),transparent 33%);
}
.rigore-hero__copy{
  position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center;
  padding:clamp(130px,17vh,190px) clamp(34px,6.8vw,112px) clamp(74px,10vh,120px) var(--pad);
}
.rigore-hero h1{
  max-width:10.5ch; font-family:var(--serif); font-weight:300;
  font-size:clamp(54px,6vw,96px); line-height:.94; letter-spacing:-.035em;
}
.rigore-hero h1 em{ color:var(--gold-lt); font-weight:300 }
.rigore-hero__lede{
  max-width:46ch; margin-top:38px; color:var(--marble);
  font-family:var(--serif); font-size:clamp(20px,1.7vw,27px); line-height:1.42;
}
.rigore-hero__text{ max-width:56ch; margin-top:22px; color:var(--muted); font-size:14px; line-height:1.82 }
.rigore-hero__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:38px }
.rigore-link{ display:inline-flex; align-items:center; gap:12px; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-lt) }
.rigore-link i{ display:block; width:42px; height:1px; background:var(--gold); transition:width .35s var(--ease) }
.rigore-link:hover i{ width:58px }
.research-notice{
  display:flex; align-items:flex-start; gap:11px; max-width:58ch; margin-top:34px;
  padding-top:20px; border-top:1px solid var(--line-2); color:var(--faint); font-size:10px; line-height:1.6; letter-spacing:.07em; text-transform:uppercase;
}
.research-notice span{ width:6px; height:6px; margin-top:5px; border-radius:50%; flex:none; background:var(--gold) }
.rigore-hero__visual{ position:relative; min-height:100svh; overflow:hidden; background:#080604 }
.rigore-hero__visual::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to right,var(--ink) 0%,rgba(5,4,3,.2) 28%,transparent 54%),linear-gradient(to bottom,rgba(5,4,3,.34),transparent 26%,transparent 70%,var(--ink));
}
.rigore-hero__visual img{ width:100%; height:100%; object-fit:cover; object-position:center 58%; filter:saturate(.94) contrast(1.02) }
.rigore-hero__visual figcaption{
  position:absolute; z-index:2; right:var(--pad); bottom:28px; display:flex; gap:18px;
  color:rgba(237,231,220,.48); font-size:8px; letter-spacing:.2em; text-transform:uppercase;
}
.rigore-hero__visual figcaption span+span::before{ content:'·'; margin-right:18px; color:var(--gold) }
.rigore-hero__index{
  position:absolute; z-index:3; left:calc(50% - 18px); bottom:24px;
  color:var(--gold); font-family:var(--serif); font-size:14px; letter-spacing:.22em;
}

.rigore-intro{
  display:grid; grid-template-columns:minmax(170px,.34fr) minmax(0,1fr); gap:clamp(28px,7vw,120px);
  max-width:1440px; margin-inline:auto; padding:clamp(100px,13vw,190px) var(--pad);
}
.rigore-section-label{ color:var(--gold); font-size:9px; letter-spacing:.32em; text-transform:uppercase }
.rigore-intro h2,.principles__head h2,.dossier-method h2,.boundaries h2,.rigore-cta h2{
  font-family:var(--serif); font-weight:300; letter-spacing:-.025em;
}
.rigore-intro h2{ max-width:19ch; font-size:clamp(42px,5.8vw,82px); line-height:1.04 }
.rigore-intro h2 em,.dossier-method h2 em,.boundaries h2 em,.rigore-cta h2 em{ color:var(--gold-lt) }
.rigore-intro div>p{ max-width:58ch; margin-top:34px; color:var(--muted); font-size:15px; line-height:1.86 }

.principles{ max-width:1440px; margin-inline:auto; padding:0 var(--pad) clamp(110px,14vw,200px) }
.principles__head{ display:grid; grid-template-columns:minmax(170px,.34fr) minmax(0,1fr); gap:clamp(28px,7vw,120px); padding-bottom:clamp(50px,7vw,90px) }
.principles__head .kicker{ align-self:start }
.principles__head h2{ font-size:clamp(36px,4.5vw,68px); line-height:1.07 }
.principle{
  display:grid; grid-template-columns:minmax(80px,.13fr) minmax(260px,.42fr) minmax(280px,.45fr);
  gap:clamp(26px,5vw,80px); padding:clamp(42px,5.4vw,74px) 0; border-top:1px solid var(--line-2);
}
.principle:last-child{ border-bottom:1px solid var(--line-2) }
.principle__number{ color:var(--gold); font-family:var(--serif); font-size:18px; letter-spacing:.22em }
.principle__title span{ display:block; margin-bottom:18px; color:var(--faint); font-size:9px; letter-spacing:.26em; text-transform:uppercase }
.principle__title h3{ max-width:16ch; font-family:var(--serif); font-weight:300; font-size:clamp(29px,3vw,45px); line-height:1.08 }
.principle__copy{ padding-top:30px }
.principle__copy>p:first-child{ max-width:56ch; color:var(--muted); font-size:14px; line-height:1.82 }
.principle__note{ max-width:50ch; margin-top:26px; padding-left:18px; border-left:1px solid var(--gold); color:var(--gold-lt); font-family:var(--serif); font-size:17px; line-height:1.5 }

.rigore-quote{ position:relative; min-height:min(78svh,780px); display:grid; place-items:center; overflow:hidden }
.rigore-quote__image{ position:absolute; inset:0; background:url('/assets/seq/w720/0200.jpg') center 48% / cover no-repeat; transform:scale(1.03) }
.rigore-quote__shade{ position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,rgba(5,4,3,.22),rgba(5,4,3,.82) 72%),linear-gradient(to bottom,var(--ink),transparent 22%,transparent 78%,var(--ink)) }
.rigore-quote blockquote{ position:relative; z-index:2; width:min(900px,calc(100% - 44px)); text-align:center }
.rigore-quote blockquote>span{ display:block; height:66px; color:var(--gold); font-family:var(--serif); font-size:94px; line-height:1 }
.rigore-quote blockquote p{ font-family:var(--serif); font-size:clamp(34px,5.2vw,70px); font-weight:300; line-height:1.08; text-shadow:0 4px 30px rgba(0,0,0,.35) }
.rigore-quote cite{ display:block; margin-top:34px; color:var(--gold-lt); font-style:normal; font-size:9px; letter-spacing:.28em; text-transform:uppercase }

.dossier-method{
  display:grid; grid-template-columns:minmax(300px,.78fr) minmax(360px,1.22fr); gap:clamp(60px,10vw,160px);
  max-width:1440px; margin-inline:auto; padding:clamp(110px,14vw,200px) var(--pad);
}
.dossier-method__intro{ align-self:start; position:sticky; top:130px }
.dossier-method h2{ font-size:clamp(40px,4.7vw,68px); line-height:1.05 }
.dossier-method__intro>p:not(.kicker){ max-width:50ch; margin:28px 0 34px; color:var(--muted); font-size:14px; line-height:1.82 }
.dossier-index{ list-style:none; border-top:1px solid var(--line-2) }
.dossier-index li{ display:grid; grid-template-columns:52px 1fr; gap:28px; padding:31px 0; border-bottom:1px solid var(--line-2) }
.dossier-index li>span{ padding-top:3px; color:var(--gold); font-family:var(--serif); font-size:14px; letter-spacing:.15em }
.dossier-index strong{ display:block; margin-bottom:8px; color:var(--marble); font-family:var(--serif); font-size:27px; font-weight:400 }
.dossier-index p{ max-width:50ch; color:var(--muted); font-size:13px; line-height:1.7 }

.boundaries{
  display:grid; grid-template-columns:minmax(320px,1fr) minmax(320px,.78fr); gap:clamp(60px,11vw,170px);
  max-width:1440px; margin-inline:auto; padding:clamp(100px,13vw,180px) var(--pad); border-top:1px solid var(--line-2);
}
.boundaries__head .rigore-section-label{ margin-bottom:30px }
.boundaries h2{ font-size:clamp(42px,5vw,72px); line-height:1.04 }
.boundaries__body{ align-self:end }
.boundaries__lead{ max-width:33ch; color:var(--gold-lt); font-family:var(--serif); font-size:clamp(22px,2vw,30px); line-height:1.4 }
.boundaries ul{ list-style:none; margin-top:38px; border-top:1px solid var(--line-2) }
.boundaries li{ position:relative; padding:17px 0 17px 25px; border-bottom:1px solid var(--line-2); color:var(--muted); font-size:13px; line-height:1.6 }
.boundaries li::before{ content:'—'; position:absolute; left:0; color:var(--gold) }

.rigore-cta{ position:relative; min-height:min(86svh,840px); display:grid; place-items:center; overflow:hidden }
.rigore-cta>img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 50%; opacity:.78 }
.rigore-cta__shade{ position:absolute; inset:0; background:linear-gradient(to right,rgba(5,4,3,.96),rgba(5,4,3,.65) 54%,rgba(5,4,3,.2)),linear-gradient(to bottom,var(--ink),transparent 25%,rgba(5,4,3,.5) 75%,var(--ink)) }
.rigore-cta__content{ position:relative; z-index:2; width:100%; max-width:1440px; padding:clamp(100px,14vw,180px) var(--pad) }
.rigore-cta h2{ max-width:10ch; font-size:clamp(58px,8vw,112px); line-height:.9 }
.rigore-cta__content>p:not(.kicker){ max-width:45ch; margin:34px 0 38px; color:var(--muted); font-size:15px; line-height:1.75 }
.rigore-cta__content>div{ display:flex; flex-wrap:wrap; gap:12px }
.rigore-foot{ z-index:2 }

@media (max-width:980px){
  .rigore-hero{ grid-template-columns:1fr; }
  .rigore-hero__visual{ order:-1; width:100%; height:58svh; min-height:0 }
  .rigore-hero__visual img{ object-position:center 72% }
  .rigore-hero__copy{
    min-height:auto;
    padding:clamp(78px,10vw,110px) var(--pad) clamp(72px,10vw,110px);
  }
  .rigore-hero__visual::before{ background:linear-gradient(to bottom,var(--ink),transparent 28%,transparent 72%,var(--ink)) }
  .rigore-hero__index{ display:none }
  .principle{ grid-template-columns:58px minmax(240px,.85fr) minmax(260px,1fr) }
  .dossier-method{ gap:64px }
}

@media (max-width:760px){
  .rigore-intro,.principles__head,.dossier-method,.boundaries{ grid-template-columns:1fr }
  .rigore-intro,.principles__head{ gap:30px }
  .principle{ grid-template-columns:42px 1fr; gap:20px 24px }
  .principle__copy{ grid-column:2; padding-top:0 }
  .dossier-method__intro{ position:static }
  .boundaries{ gap:58px }
  .rigore-quote{ min-height:66svh }
}

@media (max-width:520px){
  .rigore-nav .nav__brand span{ display:none }
  .rigore-nav .nav__actions{ gap:6px }
  .rigore-nav .nav__actions .btn{ padding:8px 9px; font-size:8.5px }
  .rigore-hero__copy{ min-height:auto; padding-top:72px; padding-bottom:72px }
  .rigore-hero h1{ font-size:clamp(48px,14.5vw,64px) }
  .rigore-hero__lede{ margin-top:28px; font-size:20px }
  .rigore-hero__text{ font-size:13px }
  .rigore-hero__actions{ align-items:flex-start; flex-direction:column; margin-top:30px }
  .research-notice{ margin-top:27px; font-size:8.5px }
  .rigore-hero__visual{ height:54svh; min-height:0 }
  .rigore-hero__visual img{ object-position:center 64% }
  .rigore-hero__visual figcaption{ left:22px; right:auto; gap:10px }
  .rigore-hero__visual figcaption span+span::before{ margin-right:10px }
  .rigore-intro{ padding-block:90px }
  .rigore-intro h2{ font-size:42px }
  .principles{ padding-bottom:110px }
  .principle{ grid-template-columns:28px 1fr; padding-block:40px }
  .principle__title h3{ font-size:30px }
  .principle__copy>p:first-child{ font-size:13px }
  .rigore-quote blockquote p{ font-size:36px }
  .dossier-method{ padding-block:100px }
  .dossier-method h2{ font-size:42px }
  .dossier-index li{ grid-template-columns:40px 1fr; gap:15px; padding:25px 0 }
  .dossier-index strong{ font-size:23px }
  .boundaries{ padding-block:90px }
  .boundaries h2{ font-size:43px }
  .rigore-cta{ min-height:86svh }
  .rigore-cta h2{ font-size:58px }
  .rigore-cta__content>div{ align-items:stretch; flex-direction:column }
  .rigore-cta__content .btn{ justify-content:center; width:100% }
}

@media (prefers-reduced-motion:reduce){
  .rigore-link i,.rigore-body .btn{ transition:none }
}

/* Revisione contenuti: logistica UE, documentazione e FAQ. */
.operations-strip{
  position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--line-2); background:var(--ink-2);
}
.operations-strip>div{
  min-height:190px; display:flex; flex-direction:column; justify-content:center;
  padding:34px clamp(24px,4vw,64px); border-right:1px solid var(--line-2);
}
.operations-strip>div:last-child{ border-right:0 }
.operations-strip strong{ font-family:var(--serif); font-size:clamp(28px,3vw,44px); font-weight:300; color:var(--gold-lt) }
.operations-strip span{ margin-top:5px; font-size:10px; letter-spacing:.2em; text-transform:uppercase }
.operations-strip small{ max-width:30ch; margin-top:13px; color:var(--faint); font-size:10px; line-height:1.55 }

.why{ max-width:1440px; margin-inline:auto; padding:clamp(110px,14vw,200px) var(--pad) }
.why__head{
  display:grid; grid-template-columns:minmax(200px,.38fr) minmax(0,1fr);
  gap:clamp(44px,8vw,130px); padding-bottom:clamp(60px,8vw,110px);
}
.why__index{ color:var(--faint); font-family:var(--serif); font-size:16px; letter-spacing:.08em }
.why__head h2,.europe h2,.documentation h2,.faq h2{
  font-family:var(--serif); font-weight:300; letter-spacing:-.03em;
}
.why__head h2{ max-width:16ch; font-size:clamp(44px,5vw,74px); line-height:1.04 }
.why__head div:last-child>p{ max-width:55ch; margin-top:28px; color:var(--muted); font-size:14px; line-height:1.8 }
.why__list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2) }
.why-item{ min-height:410px; padding:clamp(36px,4vw,58px); border-right:1px solid var(--line-2) }
.why-item:last-child{ border-right:0 }
.why-item__meta{ color:var(--gold); font-size:9px; letter-spacing:.24em; text-transform:uppercase }
.why-item h3{ max-width:12ch; margin-top:70px; font-family:var(--serif); font-size:clamp(30px,3vw,44px); font-weight:300; line-height:1.08 }
.why-item>p:last-child{ max-width:43ch; margin-top:26px; color:var(--muted); font-size:13px; line-height:1.78 }

.europe{ position:relative; min-height:min(88svh,860px); display:grid; align-items:center; overflow:hidden }
.europe__image{ position:absolute; inset:0; background:url('/assets/images/rigore/stock-europe-peptidium.png') center 52% / cover no-repeat; transform:scale(1.015) }
.europe__shade{
  position:absolute; inset:0;
  background:linear-gradient(to right,rgba(5,4,3,.97),rgba(5,4,3,.7) 55%,rgba(5,4,3,.3)),
             linear-gradient(to bottom,var(--ink),transparent 24%,transparent 76%,var(--ink));
}
.europe__content{ position:relative; z-index:2; width:100%; max-width:1440px; margin-inline:auto; padding:clamp(110px,15vw,200px) var(--pad) }
.europe h2{ max-width:12ch; font-size:clamp(54px,7vw,100px); line-height:.93 }
.europe h2 em,.documentation h2 em,.faq h2 em{ color:var(--gold-lt) }
.europe__content>p:not(.kicker){ max-width:56ch; margin-top:34px; color:var(--muted); font-size:15px; line-height:1.82 }
.prelaunch-note{ padding:18px 20px; border-left:1px solid var(--gold); background:rgba(5,4,3,.48) }
.prelaunch-note strong{ display:block; margin-bottom:6px; color:var(--gold-lt); font-size:9px; letter-spacing:.2em; text-transform:uppercase }

.documentation{
  display:grid; grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr); gap:clamp(70px,11vw,170px);
  max-width:1440px; margin-inline:auto; padding:clamp(110px,14vw,200px) var(--pad);
}
.documentation h2{ max-width:15ch; font-size:clamp(44px,5vw,72px); line-height:1.04 }
.documentation__intro>p:last-child{ max-width:53ch; margin-top:30px; color:var(--muted); font-size:14px; line-height:1.82 }
.document-example{
  align-self:center; padding:32px; border-top:1px solid var(--gold); border-bottom:1px solid var(--line-2);
  background:linear-gradient(145deg,rgba(217,164,65,.06),transparent 66%);
}
.document-example__top{ display:flex; justify-content:space-between; gap:20px; padding-bottom:26px; border-bottom:1px solid var(--line-2); font-size:9px; letter-spacing:.2em; text-transform:uppercase }
.document-example__top b{ color:var(--gold); font-weight:500 }
.document-example dl>div{ display:grid; grid-template-columns:120px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--line-2) }
.document-example dt{ color:var(--faint); font-size:9px; letter-spacing:.16em; text-transform:uppercase }
.document-example dd{ font-family:var(--serif); font-size:18px }
.document-example>p{ margin-top:24px; color:var(--faint); font-size:10px; line-height:1.65 }

.faq{ max-width:1440px; margin-inline:auto; padding:clamp(110px,14vw,200px) var(--pad); border-top:1px solid var(--line-2) }
.faq__head{
  display:grid; grid-template-columns:minmax(200px,.38fr) minmax(0,1fr);
  gap:clamp(44px,8vw,130px); padding-bottom:clamp(60px,8vw,100px);
}
.faq h2{ font-size:clamp(50px,6vw,86px); line-height:.98 }
.faq__list{ margin-left:calc(38% + clamp(44px,8vw,130px)); border-top:1px solid var(--line-2) }
.faq details{ border-bottom:1px solid var(--line-2) }
.faq summary{
  list-style:none; cursor:pointer; display:grid; grid-template-columns:54px 1fr auto; align-items:center;
  gap:16px; padding:27px 0; font-family:var(--serif); font-size:clamp(23px,2.2vw,32px); line-height:1.3;
}
.faq summary::-webkit-details-marker{ display:none }
.faq summary span{ color:var(--gold); font-family:var(--serif); font-size:13px; letter-spacing:.1em }
.faq summary::after{ content:'+'; color:var(--gold); font-family:var(--serif); font-size:27px; font-weight:300 }
.faq details[open] summary::after{ content:'−' }
.faq details>div{ padding:0 40px 28px 70px }
.faq details p{ max-width:67ch; color:var(--muted); font-size:13px; line-height:1.8 }

@media (max-width:980px){
  .operations-strip{ grid-template-columns:1fr 1fr }
  .operations-strip>div:nth-child(2){ border-right:0 }
  .operations-strip>div:nth-child(-n+2){ border-bottom:1px solid var(--line-2) }
  .why__list{ grid-template-columns:1fr }
  .why-item{ min-height:auto; border-right:0; border-bottom:1px solid var(--line-2) }
  .why-item:last-child{ border-bottom:0 }
  .why-item h3{ margin-top:40px }
}
@media (min-width:981px) and (max-height:800px){
  .rigore-hero__copy{ padding-top:108px; padding-bottom:38px }
  .rigore-hero h1{ font-size:clamp(50px,5.2vw,82px) }
  .rigore-hero__lede{ margin-top:24px; font-size:21px }
  .rigore-hero__text{ margin-top:14px; line-height:1.65 }
  .rigore-hero__actions{ margin-top:23px }
  .research-notice{ margin-top:11px; padding-top:10px }
}
@media (max-width:760px){
  .why__head,.documentation,.faq__head{ grid-template-columns:1fr }
  .why__head,.faq__head{ gap:34px }
  .faq__list{ margin-left:0 }
  .europe{ min-height:94svh }
}
@media (max-width:520px){
  .operations-strip{ grid-template-columns:1fr }
  .operations-strip>div{ min-height:155px; border-right:0; border-bottom:1px solid var(--line-2) }
  .why{ padding-block:96px }
  .why__head h2{ font-size:43px }
  .why-item{ padding:38px 0 }
  .why-item h3{ margin-top:30px; font-size:34px }
  .europe__content{ padding-block:110px }
  .europe__shade{
    background:
      linear-gradient(to bottom,rgba(5,4,3,.78),rgba(5,4,3,.62)),
      linear-gradient(to right,rgba(5,4,3,.97),rgba(5,4,3,.72));
  }
  .europe h2{ font-size:55px }
  .europe__content>p:not(.kicker){ font-size:13px }
  .documentation{ padding-block:100px }
  .documentation h2{ font-size:43px }
  .document-example{ padding:24px 20px }
  .document-example dl>div{ grid-template-columns:1fr; gap:7px }
  .faq{ padding-block:100px }
  .faq h2{ font-size:54px }
  .faq summary{ grid-template-columns:34px 1fr auto; gap:10px; padding:24px 0; font-size:24px }
  .faq details>div{ padding:0 12px 26px 44px }
}
