@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap');
:root{--terracotta:#B85C42;--amber:#E59A3A;--sand:#E8D2AD;--indigo:#3F456B;--sage:#899B7A;--cream:#F7F0E4;--ink:#3F456B;--paper:#F7F0E4;--sunset:#B85C42;--deep:#3F456B;--line:#C9B58F}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Nunito,Arial,sans-serif}header{height:78px;position:fixed;z-index:20;top:0;width:100%;display:flex;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.25);background:rgba(247,240,228,.92);backdrop-filter:blur(12px)}.brand{font:800 20px 'Nunito';letter-spacing:.08em;color:inherit;text-decoration:none}.brand span,footer span{font-weight:400}nav{margin-left:auto;display:flex;gap:28px}nav a{color:inherit;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.12em}#menu{display:none}.hero{height:100vh;min-height:650px;position:relative;display:flex;align-items:flex-end;padding:10vh 7vw;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(63,69,107,.72),rgba(184,92,66,.18),rgba(229,154,58,.12)),url('assets/hero-sicilia-tramonto.png') center/cover}.hero-copy{position:relative;color:#fff;max-width:760px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:500}.hero h1,h2,h3{font-family:'Nunito',sans-serif}.hero h1{font-size:clamp(58px,9vw,126px);line-height:.83;text-transform:uppercase;margin:20px 0 30px}.hero-copy>p:not(.eyebrow){max-width:520px;font-size:17px}.cta{display:inline-block;margin-top:22px;color:#fff;text-decoration:none;border-bottom:1px solid;padding-bottom:5px}section:not(.hero){padding:110px 7vw}.split{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.split h2,#servizi h2,#portfolio h2,#team h2,.contact h2,.method h2{font-size:clamp(45px,6vw,78px);line-height:.95;text-transform:uppercase;margin:18px 0 30px}.split>div:last-child{font-size:17px;max-width:620px}.vision{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,var(--indigo),var(--terracotta));color:#fff;gap:0!important;padding:0!important}.vision article{padding:90px 7vw;border-right:1px solid rgba(255,255,255,.25)}.vision span,.cards b{font-size:11px;letter-spacing:.15em}.vision h3,.cards h3,.team h3{font-size:34px;text-transform:uppercase;margin:18px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:55px}.cards article{padding:45px 40px 20px 0;border-right:1px solid var(--line);margin-right:40px}.method{background:linear-gradient(135deg,var(--sand),#F2DFC0);color:var(--indigo)}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin:60px 0;border-top:1px solid rgba(63,69,107,.45);border-bottom:1px solid rgba(63,69,107,.45)}.steps span{padding:25px 15px 25px 0}.method>p:last-child{max-width:700px;margin-left:auto}.gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin-top:50px}.gallery figure{margin:0;overflow:hidden}.gallery img{width:100%;height:520px;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.02)}figcaption{font-family:'Nunito';font-size:20px;padding-top:12px}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:8vw;margin-top:60px}.team article{border-top:1px solid var(--ink);padding-top:20px}.team h3{margin-bottom:0}.team small{letter-spacing:.12em;text-transform:uppercase}.quote{background:url('assets/page-03.jpg') center/cover;min-height:500px;display:grid;place-items:center;position:relative}.quote:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(63,69,107,.82),rgba(184,92,66,.56))}blockquote{position:relative;color:white;font:800 clamp(45px,7vw,90px)/1 'Nunito';text-transform:uppercase;max-width:900px;text-align:center}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact form{display:flex;flex-direction:column}.contact input,.contact textarea{font:inherit;background:transparent;border:0;border-bottom:1px solid var(--line);padding:18px 0;outline:0}.contact textarea{height:130px}.contact button{margin-top:25px;padding:16px;border:0;background:linear-gradient(90deg,var(--terracotta),var(--amber));color:#fff;font:inherit;cursor:pointer}footer{padding:35px 7vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:700 14px 'Nunito';letter-spacing:.08em}footer p{margin:0;font-weight:400}
#about{background:var(--cream)}
#servizi{background:var(--sand)}
#portfolio{background:#F4E8D5}
#team{background:#DCE2D3}
.contact{background:var(--indigo);color:#fff}
.contact .eyebrow,.contact h2{color:var(--sand)}
.contact input,.contact textarea{color:#fff;border-bottom-color:rgba(232,210,173,.55)}
.contact input::placeholder,.contact textarea::placeholder{color:rgba(247,240,228,.75)}
.eyebrow{color:var(--sunset)}
.hero .eyebrow{color:#F2C66D}
.cards b{color:var(--terracotta)}.vision span{color:var(--sand)}
figcaption{color:var(--indigo)}
.team small{color:var(--terracotta)}
nav a:hover,.brand:hover{color:var(--sunset)}
@media(max-width:760px){header{height:64px}#menu{display:block;margin-left:auto;background:none;border:0}nav{display:none;position:absolute;top:64px;left:0;width:100%;padding:25px 7vw;background:var(--paper);flex-direction:column}nav.open{display:flex}.hero{padding:12vh 7vw 8vh}.split,.vision,.contact{grid-template-columns:1fr}.cards,.team,.gallery{grid-template-columns:1fr}.cards article{border-right:0;border-bottom:1px solid var(--line)}.steps{grid-template-columns:1fr 1fr}.gallery img{height:auto}.vision article{border-bottom:1px solid rgba(255,255,255,.25)}section:not(.hero){padding:75px 7vw}footer{gap:18px;flex-direction:column}}

/* Palette mediterranea: terracotta, ambra, sabbia, indaco e salvia */
.cta{border-color:var(--amber)}
.contact button{border-radius:999px;font-weight:700}
.contact input,.contact textarea{font-family:'Nunito',Arial,sans-serif}
.cards article h3{color:var(--indigo)}
#servizi .eyebrow,#portfolio .eyebrow{color:var(--terracotta)}
#team .eyebrow{color:var(--indigo)}
.method .eyebrow{color:var(--terracotta)}

/* Pagine di approfondimento dei servizi */
section[id]{scroll-margin-top:78px}
.service-link,.back-link{display:inline-block;color:var(--indigo);text-decoration:none;border-bottom:1px solid var(--terracotta);padding-bottom:5px;font-weight:700}
.service-link{margin-top:20px}.service-link:hover,.back-link:hover{color:var(--terracotta)}
a:focus-visible,button:focus-visible{outline:2px solid var(--terracotta);outline-offset:6px}
.cards article{display:flex;flex-direction:column}.cards .service-link{align-self:flex-start;margin-top:auto;padding-top:20px}
section.service-hero{padding-top:140px;background:linear-gradient(135deg,var(--sand),var(--cream))}
.back-link{font-size:13px;margin-bottom:36px}
.service-hero h1{font-size:clamp(44px,6.5vw,90px);line-height:1.02;text-transform:uppercase;max-width:1050px;margin:20px 0 30px;overflow-wrap:break-word}
.service-intro{max-width:740px;font-size:20px}
.service-process{background:var(--sand)}
.service-process h2,.service-contact h2{font-size:clamp(38px,5vw,68px);line-height:1.05;text-transform:uppercase;max-width:1000px;margin:18px 0 30px}
.service-process .cards h3{font-size:26px;line-height:1.15}
.service-contact{background:var(--indigo);color:var(--cream)}.service-contact .eyebrow{color:var(--sand)}
.related-services>div{display:flex;gap:40px;flex-wrap:wrap}.related-services a{color:var(--indigo);font-size:24px;text-decoration:none;border-bottom:1px solid var(--terracotta);padding-bottom:8px}
@media(max-width:760px){section[id]{scroll-margin-top:64px}section.service-hero{padding-top:110px}.service-intro{font-size:18px}.cards article{margin-right:0;padding-right:0}.related-services>div{flex-direction:column;align-items:flex-start;gap:24px}}

/* Ambiti di consulenza */
.consultancy-details{background:#F4E8D5}
.consultancy-details h2{font-size:clamp(34px,4.5vw,62px);line-height:1.08;text-transform:uppercase;margin:18px 0 40px;max-width:1050px;overflow-wrap:break-word}
.consultancy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 6vw}
.consultancy-grid article{border-top:1px solid var(--line);padding-top:20px}
.consultancy-details h3{font-size:26px;line-height:1.2;margin:0 0 20px}
.consultancy-details ul{padding-left:22px;margin:0;font-size:17px;max-width:850px}
.consultancy-details li{padding-left:6px;margin:10px 0}
.consultancy-details li::marker{color:var(--terracotta)}
.consultancy-specialist{border-top:1px solid var(--line)}
.consultancy-specialist:nth-of-type(even){background:#DCE2D3}
@media(max-width:760px){.consultancy-grid{grid-template-columns:1fr;gap:30px}.consultancy-details h2{font-size:34px}.consultancy-details h3{font-size:24px}}

/* Apertura della pagina Consulenza */
.consultancy-back{padding:120px 7vw 24px;background:#F4E8D5}
.consultancy-back .back-link{margin-bottom:0}
.consultancy-back + .consultancy-details{padding-top:35px}
.consultancy-details h1{font-size:clamp(34px,4.5vw,62px);line-height:1.08;text-transform:uppercase;margin:18px 0 40px;max-width:1050px;overflow-wrap:break-word}
@media(max-width:760px){.consultancy-back{padding-top:100px}.consultancy-details h1{font-size:34px}}

.service-page-title{font-size:clamp(45px,6vw,78px);line-height:.95;text-transform:uppercase;margin:18px 0 30px}

/* Logo Lapis nell’header */
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-logo{display:block;width:auto;height:56px;object-fit:contain}
.brand .brand-name{font-weight:800}
.brand .brand-name span{font-weight:400}
@media(max-width:1000px) and (min-width:761px){nav{gap:16px}.brand{font-size:16px;gap:10px}}
@media(max-width:760px){.brand-logo{height:46px}.brand{font-size:16px;gap:10px}}
@media(max-width:360px){.brand{font-size:14px;gap:8px}}

/* Il simbolo riprende il colore della scritta nell’header */
.brand-logo{width:49px;height:56px;flex-shrink:0;background-color:currentColor;-webkit-mask:url('assets/logo-lapis.png') center/contain no-repeat;mask:url('assets/logo-lapis.png') center/contain no-repeat}
@media(max-width:760px){.brand-logo{width:40px;height:46px}}

/* Foto di gruppo nella sezione Team */
.team-photo{margin:50px auto 0;max-width:660px}
.team-photo img{display:block;width:100%;height:auto}
@media(max-width:760px){.team-photo{margin-top:35px}}

/* Team: foto a sinistra, presentazione e profili a destra */
.team-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:5vw;align-items:center}
#team .team-photo{margin:0;max-width:none}
#team .team-copy h2{font-size:clamp(34px,3.6vw,54px);line-height:1.05;margin:15px 0 28px}
#team .team{grid-template-columns:1fr;gap:20px;margin-top:28px}
#team .team article{padding-top:14px}
#team .team h3{font-size:24px;line-height:1.2;margin:0 0 5px}
#team .team p{margin:8px 0 0}
@media(max-width:900px){.team-layout{grid-template-columns:1fr;gap:40px}#team .team-photo{max-width:700px}#team .team-copy h2{font-size:clamp(34px,6vw,54px)}}

/* Sfondo fotografico sfumato della sezione Studio */
#studio{position:relative;isolation:isolate;overflow:hidden;background:var(--cream)}
#studio::before{content:"";position:absolute;inset:-12px;z-index:-2;background:url('assets/studio-background.png') center/cover no-repeat;filter:blur(4px)}
#studio::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,240,228,.86),rgba(247,240,228,.78) 50%,rgba(247,240,228,.9))}

/* Portfolio: pagine dedicate ai progetti */
.project-preview{display:block;overflow:hidden}
.gallery figcaption a{color:inherit;text-decoration:none}
.gallery figcaption a:hover{color:var(--terracotta)}
section.project-heading{padding-top:140px;padding-bottom:60px;background:#F4E8D5}
.project-heading h1{font-size:clamp(54px,8vw,110px);line-height:1;text-transform:uppercase;margin:18px 0 20px}
.project-location{font-size:22px}
.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);padding-top:25px;margin:35px 0 0}
.project-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--terracotta)}
.project-facts dd{margin:8px 0 0;font-size:20px}
section.project-images{padding-top:60px}.project-images figure{margin:0 auto;max-width:1100px}
.project-images img{display:block;width:100%;height:auto}.project-images figure a{display:block;cursor:zoom-in}
.image-hint{max-width:1100px;margin:20px auto 0;font-size:13px}
@media(max-width:760px){section.project-heading{padding-top:110px;padding-bottom:40px}.project-facts{gap:15px}.project-facts dd{font-size:16px}section.project-images{padding-top:40px}}

section.join-lapis{padding-top:140px;min-height:85vh;background:var(--sand)}
.join-lapis h1{font-size:clamp(48px,7vw,96px);line-height:1;text-transform:uppercase;margin:20px 0 30px}
.application-categories{margin-top:55px}.application-category{border-top:1px solid var(--line)}.application-category:last-child{border-bottom:1px solid var(--line)}
.application-category summary{display:flex;justify-content:space-between;align-items:center;padding:28px 0;cursor:pointer;list-style:none;font-size:clamp(26px,4vw,42px);font-weight:800;text-transform:uppercase}
.application-category summary::-webkit-details-marker{display:none}.application-category[open] .application-toggle{transform:rotate(45deg)}
.application-body{max-width:760px;padding-bottom:40px}.application-form{display:flex;flex-direction:column}.application-form label{margin-top:18px;font-weight:700}
.application-form input,.application-form textarea{font:inherit;color:var(--indigo);padding:12px;border:1px solid var(--line);background:var(--cream);border-radius:4px;width:100%}
.application-form button{align-self:flex-start;margin-top:15px;padding:16px 24px;background:var(--indigo);color:#fff;border:0;border-radius:30px;font:inherit;cursor:pointer}
.application-note{font-size:13px;margin-top:20px}.application-status{font-weight:700}
@media(max-width:760px){section.join-lapis{padding-top:110px}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.6;cursor:wait}
