:root{
  --bg:#0b0f14;
  --card:#101824;
  --text:#e8eef6;
  --muted:#b8c4d6;
  --accent:#7dd3fc;
  --accent2:#a78bfa;
  --border:rgba(255,255,255,.10);
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:18px;
  --max:1080px;

  /* NAV: bianco pieno + blu "logo" */
  --navbg:#ffffff;
  --navborder:rgba(0,0,0,.12);
  --navblue:#0b3d91;
  --navhover:rgba(11,61,145,.08);

  /* giallo logo (i/l) */
  --logo-yellow:#E7C424;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  line-height:1.5;

  /* sfondo immagine hero_home su tutta la pagina */
  background: var(--bg);
}

a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  backdrop-filter:none;
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  text-decoration:none;
  color:var(--navblue);
  font-weight:700;
  opacity:1;
}
.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; border-radius:999px}
.navlinks a:hover{background:var(--navhover)}

/* dropdown */
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:999px}
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

/* HERO */
.hero{padding:44px 6px 26px}
.title-yellow{color:var(--logo-yellow);}

/* cards/layout */
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}

.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}

.two-cards{display:grid; gap:14px;}
@media(min-width:900px){ .two-cards{grid-template-columns: 1fr 1fr;} }

.card.linkcard{
  text-decoration:none;
  display:block;
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}
.card.linkcard:hover{
  transform: translateY(-2px);
  border-color: rgba(125,211,252,.35);
}
.card.linkcard:focus{
  outline: 2px solid rgba(125,211,252,.55);
  outline-offset: 2px;
}
.smallmuted{color:var(--muted); font-size:14px; margin:0}

/* NUOVO: background immagine per il box "Atelier model" (hero_about) + overlay scuro */
.card.atelier-bg{
  background:
    linear-gradient(180deg, rgba(11,15,20,.78), rgba(11,15,20,.78)),
    url("../onepage_site_v1%20-%20Copia/assets/img/hero_about.jpg") center/cover no-repeat;
}

/* NUOVO: background immagine per il box "Phidealive Focus" (hero_tailored) + overlay scuro */
.card.focus-bg{
  background:
    linear-gradient(180deg, rgba(11,15,20,.78), rgba(11,15,20,.78)),
    url("../onepage_site_v1%20-%20Copia/assets/img/hero_tailored.jpg") center/cover no-repeat;
}

/* footer */
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* One-page sections */
section.onepage-section{
  position:relative;
  min-height:100vh;
  padding: 28px 0 54px;
  scroll-margin-top: 92px; /* nav height + breathing room */
}
.onepage-bg{
  position:absolute; inset:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-attachment:fixed;
  z-index:-2;
}
.onepage-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(11,15,20,.78), rgba(11,15,20,.78));
  z-index:-1;
}
.onepage-wrap{padding:0 16px;}
/* Sticky nav wrapper */
.onepage-topbar{
  position:sticky; top:0; z-index:200;
  padding:14px 14px 0;
  background:linear-gradient(180deg, rgba(11,15,20,.88), rgba(11,15,20,0));
  backdrop-filter:saturate(1.1);
}
.onepage-topbar .container{padding:0;}
/* Active link */
.navlinks a.active{background:var(--navhover); border-radius:999px;}

/* from about.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px; width:auto; display:block; max-width:220px; object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

/* HERO */
.hero{padding:44px 6px 26px}
.title-yellow{color:var(--logo-yellow);}

.kicker{font-size:13px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:840px; font-size:18px; color:var(--muted); margin:0 0 18px}
.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}
.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* from tailored-trial-services.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* submenu */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

.hero{padding:44px 6px 26px}
.kicker{font-size:13px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:920px; font-size:18px; color:var(--muted); margin:0 0 18px}
.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* disattivo il box immagine interno (ridondante se lo sfondo è già hero_tailored) */
.hero-img{display:none;}

/* from biotech-home.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* FIX submenu: niente "buco" + resta aperto su focus/click */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;          /* niente gap */
  min-width:220px;
  padding:12px 8px 8px;  /* distacco visivo senza buco */
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

.hero{padding:44px 6px 26px}
.kicker{font-size:13px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:840px; font-size:18px; color:var(--muted); margin:0 0 18px}
.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}
.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols4{grid-template-columns:repeat(4,1fr)}
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.pills{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.pill{font-size:12px; color:var(--muted); border:1px solid var(--border); padding:7px 10px; border-radius:999px; background:rgba(16,24,36,.4)}
.split{display:grid; gap:14px; align-items:start;}
@media(min-width:900px){ .split{grid-template-columns: 1.25fr .75fr} }
.highlight{
  border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(180deg, rgba(167,139,250,.14), rgba(16,24,36,.7));
}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}
.form{display:grid; gap:10px;}
.input, .textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(11,15,20,.6);
  color:var(--text);
  font-size:14px;
}
.textarea{min-height:120px; resize:vertical}
.small{font-size:12px; color:var(--muted)}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; color:var(--muted);
  border:1px solid var(--border); border-radius:999px;
  padding:8px 10px; background:rgba(16,24,36,.5);
}
.badge b{color:var(--text); font-weight:650}

/* from pharma-home.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* submenu */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

.hero{padding:44px 6px 26px}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:880px; font-size:18px; color:var(--muted); margin:0 0 18px}
.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}
.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
  .grid.cols4{grid-template-columns:repeat(4,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}
.highlight{
  border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(180deg, rgba(167,139,250,.14), rgba(16,24,36,.7));
}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* from iit-home.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* FIX submenu */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

.hero{padding:44px 6px 26px}
.kicker{font-size:13px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:880px; font-size:18px; color:var(--muted); margin:0 0 18px}
.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}
.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}
.highlight{
  border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(180deg, rgba(167,139,250,.14), rgba(16,24,36,.7));
}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* from academy-home.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* submenu */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

.hero{padding:44px 6px 26px}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:880px; font-size:18px; color:var(--muted); margin:0 0 18px}
.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}

.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}
.highlight{
  border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(180deg, rgba(167,139,250,.14), rgba(16,24,36,.7));
}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* from food-home.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* submenu */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

.hero{padding:44px 6px 26px}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:880px; font-size:18px; color:var(--muted); margin:0 0 18px}
.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}

.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}
.highlight{
  border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(180deg, rgba(167,139,250,.14), rgba(16,24,36,.7));
}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* from device-home.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu: blu + bold */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* submenu */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

.hero{padding:44px 6px 26px}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:880px; font-size:18px; color:var(--muted); margin:0 0 18px}
.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}

.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
}
.card{
  border:1px solid var(--border); border-radius:var(--radius);
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}
.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}
.highlight{
  border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(180deg, rgba(167,139,250,.14), rgba(16,24,36,.7));
}
.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* from contact.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}
.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}
@media(min-width:720px){.navlinks{flex-wrap:nowrap}}

.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}

.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

/* HERO */
.hero{padding:44px 6px 18px}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:920px; font-size:18px; color:var(--muted); margin:0 0 18px}

/* LAYOUT */
.section{margin-top:26px}
.grid{display:grid; gap:14px}
@media(min-width:900px){ .grid.cols2{grid-template-columns:repeat(2,1fr)} }

.card{
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(16,24,36,.7);
  box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}

.form{display:grid; gap:10px;}
.input, .textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(11,15,20,.6);
  color:var(--text);
  font-size:14px;
}
.textarea{min-height:140px; resize:vertical}
.small{font-size:12px; color:var(--muted)}

.ctarow{display:flex; gap:12px; flex-wrap:wrap; margin-top:12px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(16,24,36,.7); box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}

.map-card{
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  box-shadow: var(--shadow);
  background:rgba(16,24,36,.7);
}
.map-card iframe{
  width:100%;
  height:360px;
  border:0;
  display:block;
  filter:saturate(.95) contrast(1.05);
}
.map-meta{padding:12px 14px 14px;}
.map-meta .lead{margin:0}
.map-meta .addr{color:var(--text); font-weight:650}

.footer{
  margin-top:34px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between
}

/* from therapeutic-areas.html */
*{box-sizing:border-box}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:28px 18px 56px}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 16px;
  border:1px solid var(--navborder);
  border-radius:999px;
  background:var(--navbg);
  box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand:hover{background:transparent}
.brand-logo{height:43px;width:auto;display:block;max-width:220px;object-fit:contain}

/* link menu */
.nav a{
  font-size:14px;
  color:var(--navblue);
  text-decoration:none;
  font-weight:700;
  opacity:1;
}
.nav a:hover{background:var(--navhover); border-radius:999px}

.navlinks{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; align-items:center}
.navlinks a{padding:8px 10px; display:inline-flex; align-items:center}
.dropbtn{padding:8px 10px; border-radius:999px}

@media(min-width:720px){.navlinks{flex-wrap:nowrap}}
.dropdown{position:relative; display:inline-flex;}
.dropbtn{display:inline-flex; align-items:center; gap:8px;}

/* submenu */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}
.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  margin-top:0;
  min-width:220px;
  padding:12px 8px 8px;
  border:1px solid var(--navborder);
  border-radius:14px;
  background:var(--navbg);
  box-shadow: var(--shadow);
  z-index:50;
}
.dropdown-content a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  color:var(--navblue);
  font-weight:700;
}
.dropdown-content a:hover{background:var(--navhover)}

/* HERO */
.hero{padding:44px 6px 26px}
.kicker{font-size:13px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}
.h1{font-size:44px; line-height:1.06; margin:10px 0 12px; letter-spacing:-.02em}
.sub{max-width:920px; font-size:18px; color:var(--muted); margin:0 0 18px}

/* layout */
.grid{display:grid; gap:14px}
@media(min-width:900px){
  .grid.cols4{grid-template-columns:repeat(4,1fr)}
  .grid.cols3{grid-template-columns:repeat(3,1fr)}
  .grid.cols2{grid-template-columns:repeat(2,1fr)}
}
.section{margin-top:26px}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.section p.lead{margin:0 0 12px; color:var(--muted); max-width:920px}

.card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:rgba(16,24,36,.7);
  box-shadow: var(--shadow);
  padding:16px 16px 14px;
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}

.ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.ul li{margin:6px 0; font-size:14px}

.highlight{
  border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(180deg, rgba(167,139,250,.14), rgba(16,24,36,.7));
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--border);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  background:rgba(16,24,36,.7);
  box-shadow: var(--shadow);
}
.btn.primary{border-color:rgba(125,211,252,.55); background:linear-gradient(180deg, rgba(125,211,252,.22), rgba(16,24,36,.7));}
.btn.secondary{opacity:.95}

.footer{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:13px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:space-between
}

body{background:var(--bg) !important;}


/* =========================
   Responsive improvements
   (added automatically)
   ========================= */

/* Prevent accidental horizontal scroll on small screens */
html, body { max-width: 100%; overflow-x: hidden; }

/* Make media elements scale nicely */
img, video, canvas, svg { max-width: 100%; height: auto; }

/* Ensure long words/URLs don't force overflow */
* { overflow-wrap: break-word; }

/* NAV: better behavior on mobile and small tablets */
@media (max-width: 980px){
  .onepage-topbar{ padding:10px 10px 0; }
  .container{ padding:20px 14px 46px; }

  .nav{
    padding:12px 14px;
    border-radius:22px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .brand{ justify-content:center; }
  .brand-logo{ height:38px; max-width:190px; }

  .navlinks{
    justify-content:center;
    gap:10px;
    flex-wrap:wrap !important; /* override min-width rules that force nowrap */
  }
  .nav a{ font-size:13px; }
  .navlinks a{ padding:8px 10px; }

  .dropdown-content{
    right:auto;
    left:0;
    max-width: 90vw;
    min-width: min(220px, 90vw);
  }
}

/* HERO typography & spacing on small screens */
@media (max-width: 600px){
  .hero{ padding:30px 0 18px; }
  .section h2{ font-size:20px; }
  .sub{ font-size:16px; }
  .section p.lead{ font-size:15px; }
  .btn{ width:100%; }
}

