/* Carlotta Seno — stile condiviso del sito (estratto verbatim dalla homepage originale) */
body{margin:0;background:#F2EDE7}
a{color:inherit;text-decoration:none}a:hover{color:inherit}
*{box-sizing:border-box}
.sf{font-family:'Newsreader',Georgia,serif;font-optical-sizing:auto}
.ss{font-family:'Instrument Sans',system-ui,sans-serif}
.eyebrow{font-family:'Instrument Sans',system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.wrap{max-width:1360px;margin:0 auto;padding-left:clamp(20px,4.5vw,64px);padding-right:clamp(20px,4.5vw,64px)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 26px;border-radius:999px;font:500 15px 'Instrument Sans',system-ui,sans-serif;transition:background .35s,color .35s,border-color .35s;cursor:pointer;border:1px solid transparent}
.btn-solid{background:#60251F;color:#F2EDE7}
.btn-solid:hover{background:#242022;color:#F2EDE7}
.btn-line{border-color:#242022;color:#242022;background:transparent}
.btn-line:hover{background:#242022;color:#F2EDE7}
.btn-ivory{background:#F2EDE7;color:#60251F}
.btn-ivory:hover{background:#D8B8AD;color:#60251F}
.btn .ar{transition:transform .35s cubic-bezier(.2,.7,.1,1)}
.btn:hover .ar{transform:translateX(4px)}
.lnk{background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:3px;transition:background-size .5s cubic-bezier(.2,.7,.1,1)}
.lnk:hover{background-size:30% 1px}

/* explicit placeholders for real photography and screenshots */
.slot{position:relative;background:#E6DED4;display:flex;flex-direction:column;justify-content:space-between;padding:18px;color:#5E5457}
.slot-dark{background:rgba(242,237,231,.07);color:#E9D9D3;outline:1px dashed rgba(242,237,231,.35);outline-offset:-1px}
.slot-tag{font:600 11px 'Instrument Sans',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.slot-desc{font:400 14px/1.45 'Instrument Sans',system-ui,sans-serif;max-width:30ch}
.slot::before,.slot::after{content:'';position:absolute;width:14px;height:14px;border-color:currentColor;border-style:solid;opacity:.5}
.slot::before{top:8px;right:8px;border-width:1px 1px 0 0}
.slot::after{bottom:8px;left:8px;border-width:0 0 1px 1px}

/* device mockups */
.browser{background:#F2EDE7;border-radius:10px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.45)}
.browser-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#E6DED4}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:#C9BCB0;display:block}
.phone{background:#242022;border-radius:34px;padding:9px;box-shadow:0 40px 70px -25px rgba(0,0,0,.55)}
.phone .slot{border-radius:26px}

/* motion */
.in{animation:in 1.1s cubic-bezier(.2,.7,.1,1) both}
.in2{animation-delay:.12s}.in3{animation-delay:.24s}.in4{animation-delay:.4s}
@keyframes in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.lift{transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.case:hover .lift{transform:translateY(-8px)}
.case:hover .lift2{transform:translateY(-16px) rotate(-1deg)}

/* expertise diagram */
.venn{position:relative;width:100%;max-width:540px;aspect-ratio:1/1;margin-left:auto}
.ring{position:absolute;width:60%;aspect-ratio:1/1;border-radius:50%;border:1px solid rgba(242,237,231,.5);background:transparent;color:#F2EDE7;cursor:pointer;display:flex;padding:0;transition:background .5s,border-color .5s}
.ring:hover{border-color:#D8B8AD}
.ring.on{background:rgba(242,237,231,.1);border-color:#D8B8AD}
.ring:focus-visible{outline:1px solid #F2EDE7;outline-offset:4px}
.ring span{font:500 15px 'Instrument Sans',system-ui,sans-serif;letter-spacing:.02em}
.r1{left:20%;top:0;justify-content:center;align-items:flex-start;padding-top:17%}
.r2{left:0;top:36%;justify-content:flex-start;align-items:flex-end;padding:0 0 22% 13%}
.r3{left:40%;top:36%;justify-content:flex-end;align-items:flex-end;padding:0 13% 22% 0}
.core{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}

/* services */
.svc{background:#F2EDE7;padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px;min-height:200px;transition:background .4s}
.svc:hover{background:#FBF8F4}

/* method */
.track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;position:relative}
.track::before{content:'';position:absolute;left:0;right:0;top:7px;height:1px;background:rgba(36,32,34,.25)}
.dot{width:15px;height:15px;border-radius:50%;background:#60251F;position:relative;margin-bottom:28px}
.dot.open{background:#F2EDE7;border:1px solid #60251F}

/* form */
.fld{display:flex;flex-direction:column;gap:8px;font:500 13px 'Instrument Sans',system-ui,sans-serif;color:#E9D9D3}
.fld input,.fld textarea{background:transparent;border:0;border-bottom:1px solid rgba(242,237,231,.45);color:#F2EDE7;padding:10px 0 12px;font:400 17px 'Instrument Sans',system-ui,sans-serif;border-radius:0;min-height:44px}
.fld input:focus,.fld textarea:focus{outline:none;border-bottom-color:#F2EDE7}
.fld input[aria-invalid="true"]{border-bottom:2px solid currentColor !important}

@media (prefers-reduced-motion:reduce){.in{animation:none}.lift{transition:none}}
@media (max-width:960px){
.g12{grid-template-columns:minmax(0,1fr);row-gap:32px}
.g12>*{grid-column:1/-1 !important;grid-row:auto !important;margin-top:0 !important}
.track{grid-template-columns:minmax(0,1fr);row-gap:28px}
.track::before{display:none}
.dot{margin-bottom:14px}
.hide-m{display:none !important}
.nav{display:none !important}
.venn{margin:0 auto}
.phone-float{position:relative !important;right:auto !important;bottom:auto !important;width:46% !important;margin:-30% 0 0 auto}
.fit-m{width:auto !important;height:auto !important}
.fit-m span br{display:none}
}
@media (max-width:1100px){
.guide{border-left:0 !important;padding-left:0 !important;padding-right:0 !important}
}
@media (max-width:560px){
.guide{grid-template-columns:minmax(0,1fr) !important}
.guide>div:first-child{max-width:220px}
}

/* metodo · sequenza (Servizi) */
.method{display:flex;align-items:center;flex-wrap:wrap;row-gap:16px}
.method span.v{font-family:'Newsreader',Georgia,serif;font-size:clamp(24px,2.6vw,38px);padding:0 clamp(10px,1.4vw,20px)}
.method span.l{flex:1 1 24px;min-width:16px;height:1px;background:#B69A79}
@media (max-width:960px){.method span.l{display:none}.method{flex-direction:column;align-items:flex-start}.method span.v{padding:0}}
@media (max-width:640px){.hero-arrow{grid-template-columns:minmax(0,1fr) !important}.hero-arrow svg{display:none}.hero-arrow span{grid-column:1 !important;white-space:normal !important}}



/* Navigazione principale */
header .nav a.lnk {
  background-size: 0% 1px;
  border-bottom: none;
}

header .nav a.lnk:hover,
header .nav a.lnk[aria-current="page"] {
  background-size: 100% 1px;
}

/* Menu: pagina attiva bordeaux, linea solo al passaggio del mouse */
header .nav a.lnk,
header .nav a.lnk[aria-current="page"] {
  background-size: 0% 1px;
}

header .nav a.lnk[aria-current="page"] {
  color: #60251F;
}

header .nav a.lnk:hover,
header .nav a.lnk[aria-current="page"]:hover {
  background-size: 100% 1px;
}

/* Menu mobile: visibile solo sotto i 960 px */
.nav-m{display:none}
@media (max-width:960px){
.nav-m{display:block;position:relative}
.nav-m summary{list-style:none;cursor:pointer;font-size:15px;min-height:44px;display:flex;align-items:center}
.nav-m summary::-webkit-details-marker{display:none}
.nav-m summary::after{content:"+";margin-left:8px;color:#60251F}
.nav-m[open] summary::after{content:"−"}
.nav-m nav{position:absolute;right:0;top:100%;z-index:50;min-width:220px;display:flex;flex-direction:column;padding:8px 20px;background:#F2EDE7;border:1px solid rgba(36,32,34,.15)}
.nav-m nav a{min-height:44px;display:flex;align-items:center;font-size:16px;border-bottom:1px solid rgba(36,32,34,.1)}
.nav-m nav a:last-child{border-bottom:0}
.nav-m nav a[aria-current="page"]{color:#60251F}
}

/* Servizi in Homepage: composizione a riquadri solo su mobile */
@media (max-width:640px){
.svc-intro{margin-bottom:24px !important}
.svc-intro h2{color:#60251F}
.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;background:none !important}
.svc-grid>.svc{min-height:0;gap:8px;padding:18px 16px 20px;border-radius:10px;background:#F2EDE7}
.svc-grid>.svc:nth-child(1),.svc-grid>.svc:nth-child(4),.svc-grid>.svc:nth-child(9),.svc-grid>.svc:nth-child(10){grid-column:1/-1;padding:20px 22px 22px}
.svc-grid>.svc:nth-child(2),.svc-grid>.svc:nth-child(5),.svc-grid>.svc:nth-child(8){background:#D0A194}
.svc-grid>.svc:nth-child(1),.svc-grid>.svc:nth-child(10){background:#60251F;color:#F2EDE7}
.svc-grid>.svc .eyebrow{color:#60251F !important}
.svc-grid>.svc:nth-child(1) .eyebrow{color:#D8B8AD !important}
.svc-grid>.svc h3{font-size:24px !important;line-height:1.1}
.svc-grid>.svc:nth-child(1) h3,.svc-grid>.svc:nth-child(4) h3,.svc-grid>.svc:nth-child(9) h3,.svc-grid>.svc:nth-child(10) h3{font-size:28px !important}
.svc-grid>.svc h3 br{display:none}
.svc-grid>.svc p{line-height:1.5 !important}
.svc-grid>.svc:nth-child(1) p,.svc-grid>.svc:nth-child(10) p{color:#E9D9D3 !important}
.svc-grid>.svc:nth-child(10){justify-content:flex-start !important}
.svc-grid>.svc:nth-child(10)>div{gap:8px !important}
.svc-grid>.svc:nth-child(10) b{font-weight:inherit}
.svc-grid>.svc:nth-child(10) a{padding-top:8px !important}
}
