
  @font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces.woff2) format('woff2');}
  @font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-italic.woff2) format('woff2');}
  @font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/public-sans.woff2) format('woff2');}
  @font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400.woff2) format('woff2');}
  @font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500.woff2) format('woff2');}
  .foot-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
  /* Deliberate single dark-world design (the members'-club atelier at night) —
     colors painted explicitly so the page holds regardless of viewer theme. */
  :root{
    --ink:#141F19;
    --ink-2:#1B2A22;
    --ink-3:#22332A;
    --paper:#F2ECDD;
    --paper-dim:#B9AF97;
    --brass:#C99A48;
    --brass-2:#E4BE7C;
    --wine:#9C5148;
    --wine-2:#C9857B;
    --line: rgba(242,236,221,0.14);
    --line-strong: rgba(242,236,221,0.28);
  }

  *{box-sizing:border-box;}
  body{
    background:var(--ink);
    color:var(--paper);
    font-family:'Public Sans', system-ui, -apple-system, sans-serif;
    padding-left:16px;
    padding-right:16px;
  }
  h1,h2,h3{
    font-family:'Fraunces', Georgia, serif;
    font-weight:500;
    line-height:1.05;
    text-wrap:balance;
    margin:0;
  }
  p{ margin:0; }
  a{ color:inherit; }
  .mono{ font-family:'IBM Plex Mono', ui-monospace, monospace; }
  .eyebrow{
    font-family:'IBM Plex Mono', ui-monospace, monospace;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--brass-2);
  }
  .wrap{
    max-width:1080px;
    margin:0 auto;
  }

  /* ---------- top bar ---------- */
  header.bar{
    position:sticky;
    top:env(safe-area-inset-top,0px);
    z-index:40;
    background:rgba(20,31,25,.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .bar-inner{
    max-width:1080px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-block:14px;
  }
  .wordmark{
    font-family:'Fraunces', serif;
    font-size:19px;
    font-weight:500;
    letter-spacing:.01em;
    white-space:nowrap;
  }
  .wordmark em{ font-style:italic; color:var(--brass-2); }
  nav.links{ display:flex; gap:22px; }
  nav.links a{
    font-size:14px;
    text-decoration:none;
    color:var(--paper-dim);
    transition:color .15s ease;
  }
  nav.links a:hover{ color:var(--paper); }
  .bar-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--brass);
    color:var(--ink);
    font-weight:600;
    font-size:14px;
    padding:9px 16px;
    border-radius:3px;
    text-decoration:none;
    white-space:nowrap;
    transition:background .15s ease;
  }
  .bar-cta:hover{ background:var(--brass-2); }
  @media (max-width:760px){
    nav.links{ display:none; }
  }

  /* ---------- buttons ---------- */
  .btn-row{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 22px;
    border-radius:3px;
    text-decoration:none;
    font-weight:600;
    font-size:15px;
    border:1px solid transparent;
    transition:transform .15s ease, background .15s ease, border-color .15s ease;
  }
  .btn:hover{ transform:translateY(-1px); }
  .btn.primary{ background:var(--brass); color:var(--ink); }
  .btn.primary:hover{ background:var(--brass-2); }
  .btn.ghost{ border-color:var(--line-strong); color:var(--paper); }
  .btn.ghost:hover{ border-color:var(--brass-2); color:var(--brass-2); }
  .btn svg{ width:17px; height:17px; flex:none; }

  /* ---------- hero ---------- */
  .hero{
    padding-block:64px 56px;
    display:grid;
    gap:28px;
  }
  .hero h1{
    font-size:clamp(34px,5.4vw,58px);
    max-width:15ch;
  }
  .hero .sub{
    max-width:52ch;
    color:var(--paper-dim);
    font-size:17px;
    line-height:1.55;
  }
  .fact-strip{
    display:flex;
    flex-wrap:wrap;
    gap:10px 28px;
    padding-top:22px;
    border-top:1px solid var(--line);
    font-size:13px;
    color:var(--paper-dim);
  }
  .fact-strip span{ color:var(--brass-2); }
  .fact-strip a{ text-decoration:underline; text-underline-offset:3px; color:var(--paper-dim);}
  .fact-strip a:hover{ color:var(--paper); }

  /* ---------- section shell ---------- */
  section{
    padding-block:64px;
    border-top:1px solid var(--line);
  }
  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:34px;
    flex-wrap:wrap;
  }
  .section-head h2{ font-size:clamp(26px,3.6vw,38px); }
  .section-head .lede{
    max-width:38ch;
    color:var(--paper-dim);
    font-size:15px;
    line-height:1.5;
  }

  /* ---------- servizi ---------- */
  .service-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  @media (max-width:640px){ .service-list{ grid-template-columns:1fr; } }
  .service{
    background:var(--ink);
    padding:26px 24px;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .service .num{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--brass-2); }
  .service h3{ font-size:19px; font-weight:500; }
  .service p{ color:var(--paper-dim); font-size:14px; line-height:1.5; }

  /* ---------- club ---------- */
  .club-note{
    color:var(--paper-dim);
    font-size:15px;
    line-height:1.6;
    max-width:62ch;
    margin-bottom:30px;
  }
  .club-note strong{ color:var(--paper); }
  .tiers{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }
  @media (max-width:820px){ .tiers{ grid-template-columns:1fr; } }
  .tier{
    background:var(--ink-2);
    border:1px solid var(--line);
    border-radius:4px;
    padding:26px 24px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .tier.evolutivo{ border-color:var(--brass-2); }
  .tier .who{ font-size:13px; color:var(--paper-dim); }
  .tier h3{ font-size:20px; font-weight:500; }
  .tier .price{
    font-family:'IBM Plex Mono',monospace;
    font-size:28px;
    color:var(--brass-2);
  }
  .tier .price sup{ font-size:14px; font-weight:400; color:var(--paper-dim); }
  .tier ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
  .tier li{ font-size:13.5px; color:var(--paper-dim); padding-left:14px; position:relative; }
  .tier li::before{ content:"—"; position:absolute; left:0; color:var(--brass); }
  .club-foot{
    margin-top:26px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:16px;
    justify-content:space-between;
    border-top:1px solid var(--line);
    padding-top:22px;
  }
  .club-foot p{ font-size:13.5px; color:var(--paper-dim); max-width:46ch; }

  /* ---------- trapianto ---------- */
  .journey{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border:1px solid var(--line);
    border-radius:4px;
    overflow:hidden;
  }
  @media (max-width:760px){ .journey{ grid-template-columns:1fr; } }
  .stop{
    background:var(--ink-2);
    padding:30px 28px;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .stop:first-child{ border-right:1px solid var(--line); }
  @media (max-width:760px){ .stop:first-child{ border-right:none; border-bottom:1px solid var(--line);} }
  .stop .tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--wine-2); }
  .stop h3{ font-size:21px; font-weight:500; }
  .stop p{ font-size:14px; line-height:1.55; color:var(--paper-dim); }
  .transplant-copy{ max-width:62ch; color:var(--paper-dim); font-size:15px; line-height:1.6; margin:26px 0; }
  .transplant-copy strong{ color:var(--paper); }
  .disclaimer{
    font-size:12.5px;
    color:var(--paper-dim);
    border-left:2px solid var(--wine-2);
    padding-left:14px;
    max-width:62ch;
    line-height:1.6;
    margin-top:24px;
  }

  /* ---------- perche ---------- */
  .why-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px 32px;
  }
  @media (max-width:640px){ .why-grid{ grid-template-columns:1fr; } }
  .why{ display:flex; gap:16px; }
  .why .mark{ font-family:'IBM Plex Mono',monospace; color:var(--brass-2); font-size:13px; padding-top:3px; }
  .why h3{ font-size:17px; font-weight:500; margin-bottom:6px; }
  .why p{ font-size:14px; color:var(--paper-dim); line-height:1.55; }

  /* ---------- recensioni ---------- */
  .review-card{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    background:var(--ink-2);
    border:1px solid var(--line);
    border-radius:4px;
    padding:30px 28px;
  }
  .review-card h3{ font-size:20px; font-weight:500; margin-bottom:8px; }
  .review-card p{ font-size:14px; color:var(--paper-dim); max-width:48ch; line-height:1.55; }

  /* ---------- footer ---------- */
  footer{
    padding-block:56px 40px;
    border-top:1px solid var(--line);
  }
  .foot-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:36px;
    margin-bottom:36px;
  }
  .foot-col h4{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--brass-2);
    margin-bottom:12px;
  }
  .foot-col p, .foot-col a{
    font-size:14px;
    color:var(--paper-dim);
    text-decoration:none;
    display:block;
    line-height:1.7;
  }
  .foot-col a:hover{ color:var(--paper); }
  .foot-bottom{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:10px;
    padding-top:22px;
    border-top:1px solid var(--line);
    font-size:12.5px;
    color:var(--paper-dim);
  }

  /* ---------- brand / social ---------- */
  .brandmark{ display:flex; align-items:center; gap:10px; }
  .brandmark img{ height:36px; width:36px; object-fit:contain; border-radius:4px; display:block; }
  .social-row{ display:flex; align-items:center; gap:16px; }
  .social-row a{ display:inline-flex; color:var(--paper-dim); transition:color .15s ease; }
  .social-row a:hover{ color:var(--brass-2); }
  .social-row svg{ width:18px; height:18px; }
  @media (max-width:760px){ .social-row{ display:none; } }

  /* ---------- ambiente / gallery ---------- */
  .gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
  }
  @media (max-width:820px){ .gallery{ grid-template-columns:repeat(2,1fr); } }
  .gallery figure{
    margin:0;
    position:relative;
    overflow:hidden;
    border-radius:4px;
    border:1px solid var(--line);
    aspect-ratio:3/4;
  }
  .gallery figure.wide{ aspect-ratio:16/10; grid-column:span 2; }
  .gallery img{
    width:100%; height:100%; object-fit:cover; display:block;
    filter:grayscale(30%) sepia(10%) saturate(115%) hue-rotate(-6deg) brightness(.9) contrast(1.05);
    transition:transform .6s ease, filter .3s ease;
  }
  .gallery figure:hover img{ transform:scale(1.045); filter:grayscale(8%) sepia(6%) saturate(120%) brightness(.98); }
  .gallery figcaption{
    position:absolute; left:0; right:0; bottom:0;
    padding:12px 14px;
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--paper);
    background:linear-gradient(0deg, rgba(20,31,25,.88), rgba(20,31,25,0));
  }

  /* ---------- footer brand ---------- */
  .foot-brand{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:34px;
    padding-bottom:34px;
    border-bottom:1px solid var(--line);
  }
  .foot-brand img{ width:56px; height:56px; object-fit:contain; flex:none; }
  .foot-brand .name{ font-family:'Fraunces', serif; font-size:19px; }
  .foot-brand .tag{ font-size:13px; color:var(--paper-dim); margin-top:3px; }

.doc{max-width:760px;margin:0 auto;padding:56px 22px 80px;}
.doc h1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(30px,5vw,44px);line-height:1.1;margin:0 0 10px;}
.doc h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:22px;margin:34px 0 8px;}
.doc p,.doc li{color:var(--paper-dim);line-height:1.65;font-size:16px;}
.doc a{color:var(--brass-2);}
.doc .upd{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--brass-2);text-transform:uppercase;}
.mini-foot{border-top:1px solid var(--line);padding:24px 22px;text-align:center;font-size:13px;color:var(--paper-dim);}
  @media (max-width:520px){
    .bar-inner{ gap:10px; }
    .brandmark{ min-width:0; }
    .wordmark{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .bar-cta, .bar .btn{ padding:8px 12px; font-size:13px; white-space:nowrap; flex:none; }
  }
  html,body{ overflow-x:clip; }
.bar .social{display:none}
