
    :root{
      --bg:#fbfaf8;
      --ink:#0f0f10;
      --muted:#5b5b5b;
      --line:rgba(15,15,16,.12);

      /* inchiostro + petrolio */
      --accent:#0E7490;
      --accent2:#063E4E;

      --max: 1120px;

      /* più margine reale (prima parte inclusa) */
      --gutterMin: 40px;
      --gutterFluid: 7vw;
      --gutterMax: 96px;

      --radius: 18px;
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      background: var(--bg);
      color:var(--ink);
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      letter-spacing:-0.01em;
    }

    a{color:inherit; text-decoration:none}

    .wrap{
      max-width:var(--max);
      margin:0 auto;
    }

    .rule{border-top:1px solid var(--line);}
    .muted{color:var(--muted);}
    .top{scroll-margin-top:88px;}

    /* Header */
    header{
      position:sticky; top:0; z-index:20;
      background: rgba(251,250,248,.88);
      backdrop-filter: blur(10px);
      border-bottom:1px solid rgba(15,15,16,.06);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      padding:16px 0;
      gap:14px;
    }
    .brand{
      display:flex; align-items:center; gap:.7rem;
      font-weight:600;
      letter-spacing:-.02em;
      white-space:nowrap;
    }
    .mark{
      width:30px; height:30px; border-radius:999px;
      border:1px solid rgba(15,15,16,.14);
      background:
        radial-gradient(14px 14px at 35% 35%, rgba(14,116,144,.55), transparent 62%),
        radial-gradient(16px 16px at 70% 65%, rgba(6,62,78,.35), transparent 62%),
        rgba(255,255,255,.85);
    }
    .navlinks{
      display:flex; gap:18px; align-items:center;
      font-size:.95rem;
      color:var(--muted);
      white-space:nowrap;
    }
    .navlinks a:hover{color:var(--ink)}
    .cta{
      display:flex; gap:14px; align-items:center;
      white-space:nowrap;
      font-size:.95rem;
    }
    .cta a{
      border-bottom:1px solid rgba(15,15,16,.26);
      padding-bottom:2px;
    }
    .cta a:hover{
      border-bottom-color: var(--accent);
      color: var(--accent2);
    }

    /* Hero */
    .hero{padding:44px 0 22px;}
    .eyebrow{
      font-size:.9rem;
      color:var(--muted);
      display:flex;
      gap:10px;
      align-items:center;
    }
    .eyebrow .dot{
      width:8px; height:8px; border-radius:50%;
      background: var(--accent);
      display:inline-block;
    }

    h1{
      margin:14px 0 0;
      font-family: Fraunces, serif;
      font-weight:400;
      letter-spacing:-0.05em;
      line-height:1.04;
      font-size: clamp(44px, 5vw, 74px);
    }
    h1 em{font-style: italic; font-weight:300;}

    .lead{
      margin:12px 0 0;
      color:var(--muted);
      line-height:1.75;
      font-size:1.03rem;
      max-width: 74ch;
    }

    .link{
      display:inline-flex;
      gap:10px;
      align-items:center;
      width:fit-content;
      border-bottom:1px solid rgba(15,15,16,.26);
      padding-bottom:2px;
      margin-top:16px;
    }
    .link:hover{
      border-bottom-color: var(--accent);
      color: var(--accent2);
    }
    .arrow{width:18px; height:18px; display:inline-block; transform: translateY(1px);}

    /* “Info strip” sotto hero (al posto della colonna dx) */
    .infoStrip{
      margin-top:22px;
      display:grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap:18px;
      padding-top:18px;
      border-top:1px solid rgba(15,15,16,.10);
      color:var(--muted);
      line-height:1.65;
      font-size:.98rem;
    }
    .infoStrip b{
      color: var(--ink);
      font-weight:600;
      letter-spacing:-.01em;
    }
    .infoStrip .tag{
      display:inline-flex;
      gap:10px;
      align-items:center;
    }
    .infoStrip .tag::before{
      content:"";
      width:8px; height:8px; border-radius:50%;
      background: var(--accent);
      display:inline-block;
    }

    /* Featured */
    .feature{
      margin-top:28px;
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:24px;
      align-items:start;
    }
    .media{
      width:100%;
      border-radius: var(--radius);
      overflow:hidden;
      background: #f0f0f0;
      border:1px solid rgba(15,15,16,.10);
    }
    .aiPlaceholder{
      aspect-ratio: 16/10;
      background:
        radial-gradient(280px 280px at 30% 35%, rgba(14,116,144,.26), transparent 60%),
        radial-gradient(260px 260px at 75% 55%, rgba(6,62,78,.18), transparent 62%),
        linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.56));
    }
    .featText{padding-top:6px;}
    .featText .k{
      font-size:.85rem;
      text-transform:uppercase;
      letter-spacing:.12em;
      color:var(--muted);
    }
    .featText h2{
      margin:10px 0 0;
      font-family: Fraunces, serif;
      font-weight:400;
      letter-spacing:-.04em;
      font-size: clamp(28px, 3.2vw, 44px);
      line-height:1.08;
    }
    .featText p{
      margin:12px 0 0;
      color:var(--muted);
      line-height:1.75;
    }

    /* Sections */
    section{padding:36px 0;}
    .sectionHead{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      padding:18px 0 22px;
    }
    .sectionHead h3{
      margin:0;
      font-family: Fraunces, serif;
      font-weight:400;
      letter-spacing:-.04em;
      font-size: clamp(26px, 3.2vw, 44px);
      line-height:1.1;
    }
    .sectionHead p{
      margin:0;
      color:var(--muted);
      max-width:64ch;
      line-height:1.7;
      font-size:1rem;
    }

    /* Gallery */
    .projects{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:18px 18px;
      padding-bottom:8px;
    }
    .proj{display:flex; flex-direction:column; gap:10px;}
    .thumb{
      border-radius: var(--radius);
      overflow:hidden;
      border:1px solid rgba(15,15,16,.10);
      background:#f1f1f1;
      aspect-ratio: 4/3;
    }
    .thumb .aiPlaceholder{aspect-ratio:auto; height:100%;}
    .caption{display:flex; flex-direction:column; gap:4px;}
    .caption b{font-size:.98rem; letter-spacing:-.01em;}
    .caption span{font-size:.92rem; color:var(--muted); line-height:1.5;}

    /* Services list */
    .svc{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:24px;
      align-items:start;
      padding:26px 0 10px;
    }
    .svcList{display:flex; flex-direction:column; gap:16px;}
    .svcItem{
      display:grid;
      grid-template-columns: 54px 1fr;
      gap:12px;
      padding:10px 0;
      border-top:1px solid rgba(15,15,16,.10);
    }
    .svcItem:first-child{border-top:none; padding-top:0;}
    .n{font-size:.9rem; color:var(--muted);}
    .svcItem b{display:block; font-weight:600; letter-spacing:-.01em; margin-bottom:6px;}
    .svcItem span{color:var(--muted); line-height:1.7; font-size:.98rem;}

    /* METHOD: più completa ma stessa estetica */
    #method .svcItem span{max-width:64ch; display:block;}
    #method .svc{padding-top:10px;} /* un filo più aria */
    .methodNote{
      border-top:1px solid rgba(15,15,16,.10);
      padding-top:14px;
      margin-top:18px;
      color:var(--muted);
      line-height:1.7;
      font-size:.98rem;
    }

    /* Contact */
    .contact{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:24px;
      align-items:start;
      padding:30px 0 10px;
    }
    .contact h3{
      margin:0;
      font-family: Fraunces, serif;
      font-weight:400;
      letter-spacing:-.04em;
      font-size: clamp(30px, 3.6vw, 52px);
      line-height:1.06;
    }
    .contact h3 em{font-style:italic; font-weight:300;}
    .contact a.mail{
      display:inline-block;
      font-size: clamp(18px, 2.1vw, 26px);
      border-bottom:1px solid rgba(15,15,16,.26);
      padding-bottom:4px;
      width:fit-content;
      margin-top:14px;
    }
    .contact a.mail:hover{border-bottom-color: var(--accent); color: var(--accent2);}

    form{
      display:flex;
      flex-direction:column;
      gap:12px;
      max-width: 520px;
    }
    .row{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
    }
    label{
      display:flex;
      flex-direction:column;
      gap:6px;
      font-size:.92rem;
      color:var(--muted);
    }
    input, select, textarea{
      border:none;
      border-bottom:1px solid rgba(15,15,16,.22);
      padding:10px 2px;
      background: transparent;
      font: inherit;
      color: var(--ink);
      outline:none;
      border-radius: 0;
    }
    input:focus, select:focus, textarea:focus{
      border-bottom-color: var(--accent);
    }
    textarea{resize:vertical; min-height:90px}

    .consent{
      display:flex;
      flex-direction:row;
      gap:10px;
      align-items:flex-start;
      margin-top:6px;
      color:var(--muted);
      font-size:.92rem;
    }
    .consent input{margin-top:3px}

    .submitRow{
      display:flex;
      gap:16px;
      align-items:center;
      margin-top:6px;
    }
    button{
      border:none;
      background: none;
      font: inherit;
      padding:0;
      cursor:pointer;
      color: var(--ink);
      border-bottom:1px solid rgba(15,15,16,.26);
      padding-bottom:2px;
    }
    button:hover{border-bottom-color: var(--accent); color: var(--accent2);}

    footer{
      padding:22px 0 42px;
      border-top:1px solid rgba(15,15,16,.10);
      color:var(--muted);
      font-size:.95rem;
    }
    .foot{
      display:flex;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .foot a{
      color:var(--muted);
      border-bottom:1px solid rgba(15,15,16,.22);
      padding-bottom:2px;
    }
    .foot a:hover{color:var(--accent2); border-bottom-color: var(--accent);}

    /* Responsive */
    @media (max-width: 980px){
      .navlinks{display:none}
      .feature{grid-template-columns:1fr}
      .projects{grid-template-columns: repeat(2, 1fr)}
      .svc{grid-template-columns:1fr}
      .contact{grid-template-columns:1fr}
      .row{grid-template-columns:1fr}
      .infoStrip{grid-template-columns:1fr}
    }
    @media (max-width: 520px){
      .projects{grid-template-columns: 1fr}
    }