@charset "UTF-8";
/* /www/assets/style.css */
/* Premium minimal - utilities & lists */

:root{
  --bg:#fbfaf8;
  --surface:#ffffff;
  --text:#121212;
  --muted:#6d6a65;
  --line:rgba(18,18,18,.12);
  --line-strong:rgba(18,18,18,.22);
  --gold:#b79a5a;

  --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Noto Sans";
  --font-serif: ui-serif, "Didot", "Bodoni 72", "Baskerville", "Times New Roman", serif;

  --container:1100px;
  --radius:18px;
  --radius-sm:12px;

  --s-1:6px;
  --s-2:10px;
  --s-3:14px;
  --s-4:18px;
  --s-5:24px;
  --s-6:32px;
  --s-7:44px;
  --s-8:64px;

  --shadow:0 10px 30px rgba(18,18,18,.06);
  --shadow-soft:0 6px 18px rgba(18,18,18,.05);

  --ease:cubic-bezier(.2,.8,.2,1);
  --dur:220ms;
}

*,
*::before,
*::after{ box-sizing:border-box; }

html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background: rgba(183,154,90,.22); }

.container{
  width:min(var(--container), calc(100% - 2*var(--s-6)));
  margin:0 auto;
}

/* ================= HEADER ================= */

.header{
  position:sticky;
  top:0;
  z-index:50;
  background: rgba(251,250,248,.9);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--s-4) 0;
}

/* ===== LOGO ===== */
.brand-logo{
  height:28px;
  width:auto;
  object-fit:contain;
  opacity:.92;
  filter:saturate(.85);
  transition:
    opacity var(--dur) var(--ease),
    transform var(--dur) var(--ease);
}
.brand-logo:hover{
  opacity:1;
  transform:translateY(-1px);
}

/* ===== NAVIGATION ===== */

.nav{
  display:flex;
  align-items:center;
  gap:var(--s-5);
}

.nav a{
  position:relative;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  padding:8px 0;
  transition:color var(--dur) var(--ease);
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 280ms var(--ease);
  opacity:.55;
}

.nav a:hover{ color:var(--text); }
.nav a:hover::after{ transform:scaleX(1); }
.nav a.active{ color:var(--text); }
.nav a.active::after{ transform:scaleX(1); opacity:.85; }

/* ================= TYPO ================= */

h1,h2,h3{ margin:0; }
h3{
  font-family:var(--font-sans);
  font-weight:600;
  font-size:16px;
  letter-spacing:.01em;
  margin-bottom:10px;
}
p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}

/* ================= MAIN ================= */

.main{ padding:var(--s-8) 0; }

.hero{
  padding:var(--s-7) 0 var(--s-6);
  border-bottom:1px solid var(--line);
}

.kicker{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}

.h1{
  margin:var(--s-3) 0 0;
  font-family:var(--font-serif);
  font-weight:500;
  font-size:clamp(34px,4vw,54px);
  letter-spacing:.02em;
  line-height:1.05;
}

.lead{
  margin:var(--s-4) 0 0;
  max-width:62ch;
  color:var(--muted);
  line-height:1.6;
}

/* ================= SECTIONS ================= */

.section{ padding:var(--s-7) 0; }

/* ================= CARDS / GRID ================= */

.grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:var(--s-5);
}

.card{
  grid-column:span 6;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:var(--s-6);
  box-shadow:var(--shadow-soft);
}

@media(max-width:900px){
  .container{ width:min(var(--container), calc(100% - 2*var(--s-5))); }
  .card{ grid-column:span 12; }
}

/* ================= BUTTONS ================= */

.btn{
  display:inline-flex;
  align-items:center;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid var(--line);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:all var(--dur) var(--ease);
  background:transparent;
}

.btn:hover{ background:rgba(18,18,18,.04); }

.btn-primary{
  border-color:rgba(183,154,90,.55);
}

/* ================= UTILITIES ================= */

.mt-4{ margin-top:var(--s-4); }
.mt-6{ margin-top:var(--s-6); }

.divider{
  height:1px;
  background:var(--line);
  margin:var(--s-6) 0;
}

.section-subtitle{
  color:var(--muted);
  line-height:1.6;
  max-width:72ch;
}

/* Center helper (used on conferma) */
.center{
  text-align:left;
  max-width:760px;
}
@media(max-width:900px){
  .center{ max-width:100%; }
}

/* ================= LIST (Risorse) ================= */

.list{
  list-style:none;
  padding:0;
  margin:0;
  max-width:72ch;
}

.list li{
  display:flex;
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid rgba(18,18,18,.08);
}

.list li:last-child{
  border-bottom:0;
}

.title{
  font-weight:600;
  color:var(--text);
  margin-bottom:4px;
}

.meta{
  color:var(--muted);
}

/* ================= FORMS ================= */

.form{
  max-width:720px;
}

.label{
  display:block;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:var(--s-4);
  margin-bottom:10px;
}

.input,
.textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
  font-size:15px;
  background:var(--surface);
  color:var(--text);
  outline:none;
  transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.textarea{
  min-height:130px;
  resize:vertical;
}

.input:focus,
.textarea:focus{
  border-color:rgba(183,154,90,.55);
  box-shadow:0 0 0 4px rgba(183,154,90,.12);
}

/* ================= FOOTER ================= */

.footer{
  border-top:1px solid var(--line);
  padding:var(--s-6) 0;
  color:var(--muted);
  font-size:13px;
}

.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
/* Anti-spam (honeypot) */
.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
/* Layout helpers (zéro inline) */
.card-narrow {
  max-width: 560px;
  margin: 0 auto;
}

.actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.text-muted {
  opacity: .7;
}
.form-grid { grid-template-columns: 1fr; gap: 14px; }
.textarea { resize: vertical; }
.form-error { color: #8a1f1f; }
/* Form richiesta: layout stable (1 colonne) */
.form-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

/* Force les champs à prendre toute la largeur */
.form-grid .input,
.form-grid textarea,
.form-grid input{
  width: 100%;
  box-sizing: border-box;
}
