
:root{--latte:#FDFCF9;--white:#fff;--ink:#34363C;--soft:#5b5d63;--gold:#918354;--gold-t:#7A6C3F;--gold-l:#C9BE98;--line:#E4E0D4;--grey:#34363C;--grey2:#2a2b30;--pale:#EFEEEA}
*{box-sizing:border-box}
body{margin:0;background:var(--latte);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}
.rw{font-family:Raleway,Arial,sans-serif;font-variant-numeric:lining-nums}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
header{position:sticky;top:0;z-index:6;background:#fff;border-bottom:1px solid var(--line)}
header .wrap{display:flex;justify-content:space-between;align-items:center;height:80px}
header img{height:48px;display:block}
nav a{font-family:Raleway,sans-serif;margin-left:30px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}nav a:hover{color:var(--gold-t)}
.label{font-family:Raleway,sans-serif;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t)}
section{padding:110px 0}
.hero{position:relative;overflow:hidden;padding:120px 0 110px;background:var(--latte)}
.hero .mono{position:absolute;right:3%;top:50%;transform:translateY(-50%);height:92%;opacity:.55;pointer-events:none}
.hero .wrap{position:relative}
h1{font-family:Raleway,sans-serif;font-weight:200;font-size:clamp(44px,6.6vw,96px);line-height:1.04;letter-spacing:-.02em;margin:26px 0 34px;max-width:12em}
h1 b{font-weight:500;color:var(--gold-t)}
.lead{max-width:32em;font-size:19px;color:var(--soft)}
.tags{margin-top:38px;display:flex;flex-wrap:wrap;gap:8px 26px}
.tags span{font-family:Raleway,sans-serif;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}
.tags span:before{content:"";display:inline-block;width:18px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px}
.sh{display:flex;align-items:baseline;gap:20px;margin-bottom:52px}
.sh .n{font-family:Raleway,sans-serif;font-weight:500;font-size:14px;letter-spacing:.2em;color:var(--gold)}
h2{font-family:Raleway,sans-serif;font-weight:200;font-size:clamp(34px,4.4vw,58px);letter-spacing:.04em;text-transform:uppercase;line-height:1.08;margin:0}
.on-grey{background:var(--grey);color:#eceae2}.on-grey h2{color:#fff}.on-grey .n{color:var(--gold-l)}.on-grey .label{color:var(--gold-l)}
.on-white{background:#fff}.on-pale{background:var(--pale)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.three>div{border-top:1px solid var(--gold);padding-top:22px}
.three p{margin:12px 0 0;font-size:19px;font-weight:300}
.wide{height:64vh;min-height:360px;background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
.who{display:grid;grid-template-columns:5fr 7fr;gap:56px}
.who .big{font-family:Raleway,sans-serif;font-weight:300;font-size:clamp(24px,2.6vw,34px);line-height:1.35;margin:0}
.who p{margin:0 0 22px;max-width:36em}
.motto{font-family:Raleway,sans-serif;font-weight:300;font-size:clamp(26px,3vw,38px);margin:0 0 20px;letter-spacing:.01em}
.svc-intro{max-width:44em;color:var(--soft);margin-bottom:56px}.svc-intro p{margin:0 0 16px}
.svc-b{display:grid;grid-template-columns:4fr 8fr;gap:48px;padding:48px 0;border-top:1px solid var(--line)}
.svc-b:first-of-type{border-top:1px solid var(--gold)}
.svc-h{display:flex;gap:20px;align-items:baseline;position:sticky;top:110px;align-self:start}
.svc-h .num{font-family:Raleway,sans-serif;font-weight:500;font-size:14px;letter-spacing:.2em;color:var(--gold)}
h3{font-family:Raleway,sans-serif;font-weight:300;font-size:clamp(24px,2.6vw,34px);line-height:1.15;margin:0;letter-spacing:.01em}
.svc-t p{margin:0 0 16px;max-width:40em}
.lists{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px}
.lists h4{font-family:Raleway,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t);margin:0 0 12px}
.lists ul{margin:0;padding:0;list-style:none}.lists li{padding:8px 0 8px 22px;position:relative;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}
.lists li:before{content:"";position:absolute;left:0;top:19px;width:10px;height:1px;background:var(--gold)}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proj{background:#fff;border:1px solid var(--line);padding:30px 28px 32px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between}
.proj .label{display:block;margin-bottom:18px}
.proj h3{margin-bottom:14px}.proj p{margin:0;color:var(--soft);font-size:16px}
.proj small{display:block;margin-top:24px;font-family:Raleway,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#a7a39a}
.note{margin-top:26px;font-size:14px;color:var(--soft);border-left:2px solid var(--gold);padding-left:14px}
.logos{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--gold)}
.logos a{display:flex;align-items:center;justify-content:center;height:130px;padding:24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.logos a:nth-child(5n){border-right:0}
.logos img{max-width:100%;max-height:60px;object-fit:contain}.inv{filter:invert(.8)}
.contact h3{font-size:clamp(30px,4vw,54px);font-weight:200;letter-spacing:.02em;margin:0 0 30px;color:#fff}
.btn{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;font-family:Raleway,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:20px 34px}.btn:hover{background:#fff;color:var(--ink)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:56px}.cols2 p{margin:0 0 10px}
footer{background:var(--grey2);color:#cfcdc3;padding:40px 0;font-size:13px;letter-spacing:.04em}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer a{text-decoration:none}
@media(max-width:900px){.three,.who,.svc-b,.projects,.lists,.cols2{grid-template-columns:1fr;gap:28px}.svc-h{position:static}.hero{padding:60px 0 56px}.hero .mono{height:70%;top:30%;opacity:.4}
.logos{grid-template-columns:repeat(2,1fr)}.logos a:nth-child(5n){border-right:1px solid var(--line)}.logos a:nth-child(2n){border-right:0}
section{padding:70px 0}.wide{background-attachment:scroll;height:44vh}nav a{margin-left:14px;font-size:10px;letter-spacing:.12em}header img{height:34px}}
.on-sand{background:#EBE1CB}.on-sand .n,.on-sand .label{color:var(--gold-t)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.card{position:relative;display:flex;flex-direction:column;background:#fff;text-decoration:none;padding:34px 34px 30px;min-height:330px;border:1px solid transparent;transition:.2s}
.card:hover{border-color:var(--gold);transform:translateY(-3px)}
.card img{height:42px;width:auto;align-self:flex-start;filter:invert(1) brightness(.45);margin-bottom:30px}
.card .cn{position:absolute;right:30px;top:28px;font-family:Raleway,sans-serif;font-weight:500;font-size:14px;letter-spacing:.2em;color:var(--gold)}
.card .ct{font-family:Raleway,sans-serif;font-weight:300;font-size:clamp(22px,2.2vw,28px);line-height:1.15;margin-bottom:14px}
.card .cs{font-size:17px;color:var(--soft);line-height:1.5;flex:1}
.card .cl{margin-top:24px;font-family:Raleway,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t)}
.card .arr{display:none}
.on-sand .svc-intro{margin-bottom:40px}.on-sand .svc-intro p{color:#4b4a44}
@media(max-width:900px){.cards{grid-template-columns:1fr}.card{min-height:0}}
nav a.in{display:inline-flex;vertical-align:middle;margin-left:26px}nav a.in:hover{color:var(--gold-t)}.soc a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border-bottom:1px solid var(--gold-l)}.soc a:hover{color:#fff;border-color:#fff}@media(max-width:900px){nav a.in{margin-left:12px}}
.lang{display:inline-flex;list-style:none;margin:0 0 0 22px;padding:0;gap:10px;vertical-align:middle}.lang a{margin:0;font-size:11px;letter-spacing:.14em}.lang .current a{color:var(--gold-t)}
nav{display:flex;align-items:center}
@media(max-width:900px){.lang{margin-left:10px}.lang a{font-size:10px}}

section{scroll-margin-top:80px}
#about-us,#team,#home{position:absolute;margin-top:-80px}
section{position:relative}

html,body{overflow-x:hidden}
@media(max-width:900px){header .wrap{height:auto;flex-direction:column;align-items:stretch;padding:12px 20px 8px;gap:6px}header img{height:34px}nav{width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}nav a{margin-left:0;margin-right:18px;white-space:nowrap;font-size:11px}nav a.in{margin-right:14px}.lang{margin-left:auto;flex:none}section{scroll-margin-top:110px}}

@media(max-width:900px){nav{flex-wrap:wrap;overflow:visible;white-space:normal;row-gap:2px}nav a{margin-right:14px;letter-spacing:.12em}.lang{margin-left:auto}header .wrap{padding-bottom:6px}}

/* ===== pagine interne ===== */
body.inner{font-size:17px;line-height:1.7;background:var(--latte)}
body.inner h1,body.inner h2,body.inner h3{font-family:Raleway,sans-serif}
.innerwrap{padding:70px 0 90px;min-height:60vh}
.innerwrap .spacer-100{display:none}
.innerwrap .title{font-family:Raleway,sans-serif;font-weight:200;font-size:clamp(34px,4.6vw,60px);letter-spacing:.04em;text-transform:uppercase;line-height:1.1;max-width:1200px;margin:0 auto 10px;padding:0 32px}
.innerwrap .title:after{content:"";display:block;width:56px;height:2px;background:var(--gold);margin-top:26px}
.innerwrap br{display:none}
.innerwrap .container{max-width:1200px;padding:0 32px;margin:0 auto}
.innerwrap .container+.container{margin-top:40px}
.innerwrap .row{margin:0 -20px;padding-top:34px}
.innerwrap .row>[class*=col]{padding:0 20px}
.innerwrap p,.innerwrap li{color:var(--ink)}
.innerwrap strong{font-weight:500;color:var(--gold-t)}
.innerwrap ul{padding-left:1.1em}
.innerwrap li::marker{color:var(--gold)}
.innerwrap img{max-width:100%;height:auto}
.innerwrap a{color:var(--gold-t)}
.innerwrap .text-left a,.innerwrap .text-right a{font-family:Raleway,sans-serif;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}
.innerwrap .fa-2x{font-size:.8em;margin:0 10px;vertical-align:middle}
.innerwrap .row.leggi,.innerwrap .container>.row:last-child{padding-top:34px}
@media(max-width:768px){.innerwrap{padding:40px 0 60px}.innerwrap .title{padding:0 20px}.innerwrap .container{padding:0 20px}.innerwrap .col-6{flex:0 0 100%;max-width:100%;margin-bottom:24px}.innerwrap .container>.row:last-child .col-6{flex:0 0 50%;max-width:50%;margin-bottom:0}}

.contact{position:relative}.clogo{height:54px;display:block;margin-bottom:46px}
.proj{background:#fff;padding:34px 30px}
body.inner .innerwrap{position:relative;overflow:hidden}
body.inner .innerwrap:before{content:"";position:absolute;right:2%;top:30px;width:360px;height:520px;background:url(../images/el-gold-latte.svg) no-repeat right top/contain;opacity:.45;pointer-events:none}
body.inner .innerwrap>*{position:relative}
@media(max-width:768px){body.inner .innerwrap:before{width:200px;height:300px;opacity:.3}}

body.inner .innerwrap:before{top:24px;right:32px;width:auto;height:150px;aspect-ratio:.7;background-position:right top;opacity:.6}
@media(max-width:768px){body.inner .innerwrap:before{right:16px;top:16px;height:90px;opacity:.5}}

body.inner .innerwrap:before{display:none}
.innerwrap .container>.row{align-items:flex-end}
.innerwrap .container>.row img{display:block;margin-left:auto;outline:1px solid var(--gold);outline-offset:14px;filter:grayscale(1) contrast(.95);margin-bottom:14px;margin-right:14px}
@media(max-width:768px){.innerwrap .container>.row img{margin:0 14px 14px 0;width:calc(100% - 14px)}}

/* foto servizi: per ora solo quella della libreria; monogramma ripristinato */
.innerwrap .container>.row img{outline:none;filter:none;margin:0 0 0 auto}
.innerwrap .col-6:has(>img[src*="spiaggia"]),.innerwrap .col-6:has(>img[src*="riunione"]),.innerwrap .col-6:has(>img[src*="ascolto"]){display:none}
.innerwrap .row:has(img[src*="spiaggia"],img[src*="riunione"],img[src*="ascolto"])>.col-6:first-child{flex:0 0 66%;max-width:66%}
body.inner .innerwrap:before{display:block;top:24px;right:32px;width:auto;height:150px;aspect-ratio:.7;background-position:right top;opacity:.6}
@media(max-width:768px){body.inner .innerwrap:before{right:16px;top:16px;height:90px;opacity:.5}.innerwrap .row:has(img[src*="spiaggia"],img[src*="riunione"],img[src*="ascolto"])>.col-6:first-child{flex:0 0 100%;max-width:100%}}

body.inner .innerwrap:before{top:50%;transform:translateY(-50%);right:3%;height:92%;width:auto;aspect-ratio:.7;opacity:.55;background-position:right center}
@media(max-width:768px){body.inner .innerwrap:before{height:70%;right:-6%;opacity:.35}}

.innerwrap .col-6:has(>img[src*="libreria"]){display:none}
.innerwrap .row:has(img[src*="libreria"])>.col-6:first-child{flex:0 0 66%;max-width:66%}
@media(max-width:768px){.innerwrap .row:has(img[src*="libreria"])>.col-6:first-child{flex:0 0 100%;max-width:100%}}

.clogo{height:120px;margin-bottom:30px;opacity:.9}
.on-grey .clogo{filter:brightness(1.6)}

.on-grey .clogo{filter:none;opacity:1}

.contact{position:relative;overflow:hidden}.contact .wrap{position:relative}
.contact .clogo{position:absolute;right:3%;top:50%;transform:translateY(-50%);height:92%;width:auto;margin:0;opacity:.55;pointer-events:none;z-index:0}
.contact .wrap{z-index:1}
@media(max-width:900px){.contact .clogo{right:-8%;height:70%;opacity:.35}}

@media(min-width:901px){.contact .clogo{right:0;height:82%;opacity:.4}}

.tq{margin:0 0 72px;max-width:880px}.tq blockquote{margin:0;border-left:2px solid var(--gold);padding-left:30px}
.tq-lead{font-family:Raleway,sans-serif;font-weight:300;font-size:clamp(22px,2.7vw,32px);line-height:1.4;margin:0 0 22px;color:var(--ink)}
.tq details p{color:var(--soft);margin:0 0 14px;max-width:46em}.tq summary{cursor:pointer;font-family:Raleway,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t);margin-bottom:18px;list-style:none}.tq summary::-webkit-details-marker{display:none}.tq summary:after{content:" +"}.tq details[open] summary:after{content:" −"}
.tq figcaption{margin:20px 0 0 32px;font-family:Raleway,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t)}

.tq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin:0 0 72px}
.tqc{margin:0;background:var(--latte);padding:32px 30px;border-top:2px solid var(--gold)}.tqc blockquote{margin:0}.tqc p{margin:0 0 20px;color:var(--ink);font-size:16px}
.tqc figcaption{font-family:Raleway,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t)}

.tq-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.tq-grid{grid-template-columns:1fr}}.tqc{display:flex;flex-direction:column;justify-content:space-between}
