/* Ugo Faraguna – medicina del sonno */
/* Century Gothic se installato sul dispositivo; altrimenti Questrial (OFL), ospitato sul sito */
@font-face{font-family:"Questrial";font-weight:400;font-display:swap;src:url(fonts/questrial-latin-400-normal.woff2) format("woff2")}

:root{
  --paper:#FBF8F4;
  --sand:#F3ECE3;
  --ink:#22302F;
  --ink-soft:#56625F;
  --teal:#1F6F73;
  --teal-dark:#164F52;
  --teal-soft:#E3EFEE;
  --warm:#D9824F;
  --warm-soft:#F6E2D4;
  --line:#E5DDD2;
  --font:"Century Gothic","CenturyGothic","URW Gothic","Questrial","Avenir Next",system-ui,sans-serif;
  --measure:38rem;
  --gutter:clamp(16px,4vw,40px);
  --r:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1.05rem;line-height:1.65}
img,svg{max-width:100%;display:block}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--teal-dark)}
:focus-visible{outline:2px solid var(--warm);outline-offset:3px;border-radius:3px}
h1,h2,h3{font-family:var(--font);font-weight:700;letter-spacing:-.01em;color:var(--teal-dark)}

.wrap{max-width:72rem;margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--gutter);top:8px;background:#fff;padding:6px 10px;z-index:9}

/* Header */
.site-head{background:#fff;border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding-top:1rem;padding-bottom:1rem}
.brand{font-weight:700;font-size:1.2rem;color:var(--teal-dark);text-decoration:none;line-height:1.25}
.brand small{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft)}
.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.4rem;font-size:.95rem}
.nav a{color:var(--ink-soft);text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--teal-dark);border-bottom-color:var(--warm)}

/* Hero */
.hero{background:linear-gradient(180deg,var(--sand),var(--paper));padding:clamp(2.5rem,6vw,4.5rem) 0}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.1;margin:0 0 1.1rem}
.hero p{color:var(--ink-soft);max-width:31rem;margin:0 0 1.8rem;font-size:1.12rem}
.hero .who{color:var(--teal);font-weight:700;font-size:1rem;margin-bottom:.5rem}
.hero-photo{position:relative;margin:0}
.hero-photo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);box-shadow:0 18px 40px -22px rgba(22,79,82,.55)}
.hero-photo figcaption{position:absolute;left:-1rem;bottom:1.2rem;background:#fff;border-left:4px solid var(--warm);border-radius:6px;padding:.6rem .9rem;font-size:.88rem;line-height:1.4;color:var(--ink);box-shadow:0 8px 20px -12px rgba(0,0,0,.35)}
.hero-photo figcaption strong{display:block;color:var(--teal-dark)}

/* Actogram */
.acto{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.acto-figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem}
.acto-figure figcaption{font-size:.85rem;color:var(--ink-soft);margin-top:.7rem}
.acto-row{transform-origin:left center}
@media (prefers-reduced-motion:no-preference){
  .acto-row{animation:draw .9s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes draw{from{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}

.btns{display:flex;flex-wrap:wrap;gap:.8rem}
.btn{display:inline-block;font-weight:700;font-size:.97rem;text-decoration:none;padding:.75rem 1.2rem;border-radius:999px;border:2px solid var(--teal);color:#fff;background:var(--teal)}
.btn:hover{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}
.btn.ghost{background:transparent;color:var(--teal)}
.btn.ghost:hover{background:var(--teal-soft);color:var(--teal-dark)}
.btn.ink{background:var(--teal);color:#fff}

/* Sections */
main{display:block}
.section{padding:clamp(3rem,7vw,5rem) 0}
.section.tint{background:var(--teal-soft)}
.section.warm{background:var(--sand)}
h2{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.2;margin:0 0 1rem}
h3{font-size:1.08rem;margin:2rem 0 .5rem}
.lead{font-size:1.15rem;color:var(--ink-soft);max-width:var(--measure)}
.prose{max-width:var(--measure)}
.prose ul{padding-left:1.1rem}
.prose li{margin:.35rem 0}
.prose li::marker{color:var(--warm)}

/* Two doors */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.door{background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:var(--r);padding:1.6rem 1.8rem}
.door + .door{border-top-color:var(--warm)}
.door h3{font-size:1.3rem;margin:0 0 .3rem}
.door .where{color:var(--ink-soft);margin:0 0 1rem;font-size:.95rem}
.door ol{padding-left:1.2rem;margin:0 0 1.4rem}
.door ol li{margin:.3rem 0}

/* Topics as questions */
.qa{list-style:none;padding:0;margin:2rem 0 0;max-width:54rem}
.qa li{border-top:1px solid #C9DCDA}
.qa li:last-child{border-bottom:1px solid #C9DCDA}
.qa a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,15rem);gap:.3rem 2rem;padding:1.1rem 0;text-decoration:none;color:var(--ink)}
.qa .q{font-size:1.18rem;line-height:1.35}
.qa .a{color:var(--teal);font-weight:700;align-self:center}
.qa a:hover .q{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}

/* Page header */
.page-head{background:var(--teal-soft);padding:clamp(2.5rem,6vw,3.8rem) 0}
.page-head h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.12;margin:0;max-width:44rem}
.page-head .question{color:var(--ink-soft);font-size:clamp(1.08rem,2vw,1.3rem);margin:0 0 .5rem;max-width:40rem}
.crumb{font-size:.88rem;margin-bottom:.8rem}

.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.aside{background:#fff;border:1px solid var(--line);border-left:4px solid var(--warm);border-radius:var(--r);padding:1.4rem 1.5rem;font-size:.97rem}
.aside h3:first-child{margin-top:0}
.aside h3{margin-top:1.6rem}
.aside p{margin:.4rem 0 1rem}
.aside .btn{margin:.2rem 0}

/* Steps (a real sequence) */
.steps{counter-reset:s;list-style:none;padding:0;margin:2rem 0 0;max-width:46rem}
.steps li{counter-increment:s;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--warm-soft);color:var(--warm);font-weight:700}
.steps h3{margin:0 0 .3rem}
.steps p{margin:0;color:var(--ink-soft)}

/* Publications */
.pubs{list-style:none;padding:0;margin:1.5rem 0 0;max-width:52rem}
.pubs li{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.pubs .y{color:var(--warm);font-weight:700}
.pubs .t{display:block;font-weight:700}
.pubs .j{color:var(--ink-soft);font-size:.93rem}
.events{list-style:none;padding:0;margin:1.2rem 0 0;max-width:52rem}
.events li{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1rem;padding:.7rem 0;border-top:1px solid #C9DCDA}
.events .d{color:var(--ink-soft);font-size:.93rem}

.portrait{width:100%;height:auto;max-width:22rem;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);margin-bottom:1rem}

/* Footer */
.site-foot{background:var(--teal-dark);color:#CFE3E1;font-size:.9rem;padding:3rem 0 2.5rem}
.site-foot .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:2rem}
.site-foot a{color:#fff}
.site-foot h2{font-size:.98rem;color:#fff;margin:0 0 .6rem}
.site-foot p{margin:.2rem 0 .8rem}
.site-foot .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:1.4rem;font-size:.8rem;line-height:1.55}

@media (max-width:820px){
  .hero .wrap,.split,.site-foot .wrap,.acto{grid-template-columns:1fr}
  .hero-photo{max-width:26rem}
  .hero-photo figcaption{left:.8rem}
  .doors{grid-template-columns:1fr}
  .qa a{grid-template-columns:1fr}
  .events li{grid-template-columns:1fr;gap:.1rem}
}
@media (max-width:480px){
  .pubs li{grid-template-columns:1fr;gap:.2rem}
}
