:root{
  --bg:#EAF3F6;            /* carta da zucchero molto chiaro */
  --paper:#FFFFFF;
  --ink:#14161A;
  --ink2:#2B2F36;
  --muted:#5E6773;

  --sugar:#8FB8C8;         /* carta da zucchero */
  --cement:#CFCFCA;        /* grigio cemento */
  --rose:#C792A8;          /* rosa minerale */
  --roseDeep:#7D3E5A;

  --line:rgba(20,22,26,.12);
  --shadow:0 22px 60px rgba(16,24,40,.12);
  --shadow2:0 10px 24px rgba(16,24,40,.10);
  --radius:18px;
  --max:1120px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}
.hr{height:1px;background:var(--line);margin:22px 0}
.muted{color:rgba(20,22,26,.72)}
.small{font-size:13px;color:rgba(20,22,26,.62)}
h1,h2,h3{margin:0 0 10px 0;letter-spacing:-.02em}
h1{font-size:clamp(34px,4.4vw,56px);line-height:1.06}
h2{font-size:clamp(24px,3vw,34px);line-height:1.15}
p{margin:0 0 14px 0}
ul{margin:0;padding-left:18px}
li{margin:8px 0}

.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 30px rgba(16,24,40,.10);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:82px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nav a{padding:10px 12px;border-radius:999px;color:var(--ink2);font-weight:560;letter-spacing:.01em}
.nav a:hover{background:rgba(143,184,200,.18);color:rgba(20,22,26,.92)}
.nav a.active{background:rgba(199,146,168,.16);color:var(--roseDeep);box-shadow:0 0 0 5px rgba(199,146,168,.12)}
.nav .cta{background:linear-gradient(135deg, #3B6A7A, var(--sugar));color:#fff;border:none;box-shadow:var(--shadow2)}
.nav .cta:hover{filter:brightness(1.03)}

.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;border:1px solid rgba(20,22,26,.14);background:#fff;box-shadow:var(--shadow2)}
.menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);margin:3px 0;border-radius:2px}

@media (max-width: 920px){
  .menu-toggle{display:flex}
  .nav{display:none;position:fixed;top:78px;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:8px;
       background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 22px 60px rgba(16,24,40,.18)}
  .nav.open{display:flex}
  .nav a{padding:12px 12px}
  .nav .cta{text-align:center}
  .brand img{height:72px}
}

.hero{
  padding:84px 0 54px;
  background:
    radial-gradient(980px 560px at 12% 18%, rgba(143,184,200,.28), rgba(143,184,200,0) 60%),
    radial-gradient(980px 560px at 92% 14%, rgba(199,146,168,.22), rgba(199,146,168,0) 62%),
    linear-gradient(180deg, #FFFFFF 0%, rgba(234,243,246,.88) 100%);
  border-bottom:1px solid var(--line);
}
.hero .kicker{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;
      background:rgba(143,184,200,.18);border:1px solid rgba(143,184,200,.28);color:#3B6A7A;font-weight:650;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hero .sub{font-size:18px;color:rgba(20,22,26,.78);max-width:78ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(20,22,26,.16);background:#fff;color:var(--ink2);font-weight:650;box-shadow:none}
.btn.primary{background:linear-gradient(135deg, #3B6A7A, var(--sugar));color:#fff;border:none;box-shadow:var(--shadow2)}
.btn.primary:hover{filter:brightness(1.03);transform:translateY(-1px)}
.btn.secondary:hover{background:rgba(143,184,200,.12)}
.btn.ghost{background:transparent;border:1px solid rgba(20,22,26,.18)}
.btn.ghost:hover{background:rgba(199,146,168,.10);border-color:rgba(199,146,168,.35)}
.tagline{margin-top:18px;color:rgba(59,106,122,.88);font-weight:650}
.section{padding:64px 0}
.section.alt{background:rgba(255,255,255,.56);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.section-head .meta{max-width:74ch}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width: 980px){.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}

.card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 28px 72px rgba(16,24,40,.14)}
.card .title{font-weight:800;margin-bottom:6px}
.card .line{height:2px;width:52px;background:linear-gradient(90deg,#3B6A7A,var(--roseDeep));opacity:.85;border-radius:999px;margin:12px 0}
.notice{
  border-left:4px solid var(--roseDeep);
  background:rgba(199,146,168,.10);
  border-top:1px solid rgba(199,146,168,.26);
  padding:14px 14px;
  border-radius:16px;
}
.big-quote{
  font-size:clamp(22px,2.7vw,34px);
  line-height:1.18;
  letter-spacing:-.02em;
  color:rgba(20,22,26,.92);
}
.big-quote strong{color:var(--roseDeep)}
.split{
  display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start
}
@media (max-width: 980px){.split{grid-template-columns:1fr}}

.footer{
  background:linear-gradient(180deg,#15181D 0%, #0E1115 100%);
  color:rgba(255,255,255,.86);
  padding:44px 0;
  margin-top:34px;
}
.footer a{color:#fff;text-decoration:underline;text-decoration-color:rgba(199,146,168,.55);text-underline-offset:3px}
.footer a:hover{color:rgba(143,184,200,.95)}

/* ===== Architettura Terapeutica: distinct child segment ===== */
body.arch-child{
  background: radial-gradient(1200px 700px at 70% 10%, rgba(59,106,122,.22), rgba(59,106,122,0) 55%),
              radial-gradient(900px 600px at 20% 20%, rgba(125,62,90,.18), rgba(125,62,90,0) 60%),
              linear-gradient(180deg, #ffffff 0%, rgba(234,243,246,.55) 100%);
}
.arch-hero{
  background:
    radial-gradient(1100px 650px at 10% 15%, rgba(20,22,26,.08), rgba(20,22,26,0) 60%),
    radial-gradient(900px 520px at 90% 10%, rgba(125,62,90,.22), rgba(125,62,90,0) 62%),
    linear-gradient(180deg, rgba(20,22,26,.92) 0%, rgba(20,22,26,.78) 100%);
  color: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.arch-hero .small, .arch-hero .sub{color: rgba(255,255,255,.78)}
.arch-hero h1{color:#fff}
.arch-hero .pill{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  color: rgba(255,255,255,.92);
}

/* ===== Architettura Terapeutica — distinct visual system (OLGIATI-like) ===== */
body.arch-child .site-header{
  background: rgba(15,16,18,.78);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
body.arch-child .brand img{filter: drop-shadow(0 10px 20px rgba(0,0,0,.35));}
body.arch-child .nav a{color: rgba(255,255,255,.86);}
body.arch-child .nav a:hover{background: rgba(255,255,255,.10);}
body.arch-child .nav a.active{background: rgba(255,255,255,.12); color:#fff; box-shadow:none;}
body.arch-child .nav .cta{background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.10)); border:1px solid rgba(255,255,255,.18); color:#fff;}
body.arch-child .menu-toggle{background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16);}
body.arch-child .menu-toggle span{background:#fff;}
.arch-hero{padding:92px 0 62px;}
.arch-section .card{
  background: rgba(255,255,255,.92);
  box-shadow: 0 30px 80px rgba(0,0,0,.18);
}
.arch-section .notice{
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.88);
  border-top: 1px solid rgba(255,255,255,.14);
  border-left: 4px solid rgba(199,146,168,.70);
}
body.arch-child .footer{background: linear-gradient(180deg,#0E1115 0%, #07090B 100%);}

/* ===== Global visibility & contrast fixes ===== */
a, .nav a { text-decoration-color: rgba(20,22,26,.35); }
.small{color: rgba(20,22,26,.70)}
.muted{color: rgba(20,22,26,.76)}
.btn{border-color: rgba(20,22,26,.22)}
.btn.secondary{background:#fff}
.btn.secondary:hover{background:rgba(143,184,200,.14)}
/* Make petrol/teal buttons always readable (dark text when light bg, white when dark bg) */
.btn.primary{color:#fff}
.btn.primary:focus,.btn.primary:hover{outline: none}
.card .small, .card p, .card li{color: rgba(20,22,26,.86)}
.notice{color: rgba(20,22,26,.88)}
/* Footer readability */
.footer .small{color: rgba(255,255,255,.86)}
.footer b{color:#fff}
.footer .hr{opacity:.9}
.footer a{color:#fff}
/* Ensure fixed cookie banner text readable */
#cookie-banner .small{color: rgba(20,22,26,.84)}
#cookie-banner a{color:#0E3B46;text-decoration:underline}

/* ===== Architecture as standalone studio homepage ===== */
.arch-studio-hero{
  padding: 96px 0 62px;
  background:
    radial-gradient(1200px 700px at 18% 20%, rgba(255,255,255,.10), rgba(255,255,255,0) 58%),
    radial-gradient(900px 520px at 88% 12%, rgba(199,146,168,.22), rgba(199,146,168,0) 62%),
    linear-gradient(180deg, rgba(10,12,15,.96) 0%, rgba(12,14,18,.82) 100%);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.arch-lockup{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.arch-mark{
  width:54px;height:54px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:900;letter-spacing:-.02em;
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
}
.arch-eyebrow{color:rgba(255,255,255,.82);font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.arch-parent{color:rgba(255,255,255,.70);font-size:13px;margin-top:3px}
.arch-studio-hero h1{color:#fff}
.arch-sub{color:rgba(255,255,255,.78);max-width:94ch;font-size:18px}
.arch-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.arch-kpi{border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:12px 12px;background:rgba(255,255,255,.06)}
.arch-kpi .k{color:rgba(255,255,255,.92);font-weight:850}
.arch-kpi .v{color:rgba(255,255,255,.72);font-size:13px;margin-top:4px}
@media (max-width:980px){.arch-kpis{grid-template-columns:1fr}}

.btn.arch-primary{
  background: linear-gradient(135deg, rgba(199,146,168,.92), rgba(143,184,200,.86));
  color:#0A0C0F;border:none;box-shadow:0 22px 60px rgba(0,0,0,.24)
}
.btn.arch-primary:hover{filter:brightness(1.03);transform:translateY(-1px)}
.btn.arch-secondary{
  background: rgba(255,255,255,.10); color:#fff; border:1px solid rgba(255,255,255,.18)
}
.btn.arch-secondary:hover{background: rgba(255,255,255,.14)}
.arch-studio-section.alt{
  background:
    radial-gradient(1100px 650px at 82% 24%, rgba(143,184,200,.20), rgba(143,184,200,0) 62%),
    linear-gradient(180deg, rgba(10,12,15,.96) 0%, rgba(12,14,18,.86) 100%);
  color: rgba(255,255,255,.90);
  border-top:1px solid rgba(255,255,255,.10);
}
.arch-card .small{color: rgba(20,22,26,.86)}
.arch-notice{border-left-color: rgba(199,146,168,.85)}
.arch-studio-section.alt .muted{color: rgba(255,255,255,.78)}
.arch-studio-section.alt .card{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 28px 80px rgba(0,0,0,.25);
}
.arch-studio-section.alt .card .small{color: rgba(255,255,255,.78)}
.arch-studio-section.alt .card .title{color:#fff}
.arch-studio-section.alt .card .line{background: linear-gradient(90deg, rgba(255,255,255,.65), rgba(199,146,168,.65))}
