/* Studio Cesetti — restyling conservativo, ottobre 2026 */
:root{--ink:#18293b;--blue:#517f98;--paper:#f4f3ef;--line:#d9dfe2}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Georgia,'Times New Roman',serif;line-height:1.65}a{color:#285d78}a:focus-visible{outline:3px solid #b77c37;outline-offset:5px}img{max-width:100%}
.wrap{max-width:1200px;margin:auto;background:#fff;box-shadow:0 8px 45px #18293b0a}.nav{height:auto;min-height:36px;background:var(--blue);border:0;padding:7px 5%}.nav ul{padding:0;display:flex;justify-content:flex-end;gap:20px}.nav ul li{float:none;width:auto}.nav ul li a{font:12px/1.7 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.nav-utility{height:auto;padding:0 5%;background:var(--ink)}.nav-utility ul{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px 20px;padding:0}.nav-utility ul li{float:none;width:auto;font-variant:normal}.nav-utility ul li a{display:block;padding:22px 4px;font:14px/1.4 Arial,sans-serif}.nav-utility ul li a.select{color:#c0d9e7;border-bottom:3px solid #c0d9e7}.master-head{height:auto;min-height:130px;padding:5px 5%;display:flex;align-items:center}.master-head img{display:block;width:170px;height:auto}.article{display:block!important;background:#fff;overflow:hidden}.galleria{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 5% 50px!important;margin:0}.galleria li{display:block!important;min-width:0}.galleria a{position:relative;display:block;float:none;width:auto;height:auto;overflow:hidden;background:var(--ink)}.galleria img{display:block;width:100%;height:360px;object-fit:cover;opacity:1!important;transition:transform .3s}.galleria a:hover img{transform:scale(1.025)}.tile-label{position:absolute;bottom:0;left:0;right:0;padding:45px 16px 18px;color:#fff;background:linear-gradient(transparent,#102336ed);font-size:21px}.text_art{width:auto;max-width:920px;margin:0 auto;padding:0 32px 42px;background:white;text-align:left;display:flow-root}.text_art [class^=banner]{height:auto;margin:0 -32px 32px;padding:25px 32px;background:var(--ink);color:white}.text_art h1{font-size:30px;font-weight:normal;line-height:1.25;padding:0;font-variant:normal}.text_art h2{font-size:24px;font-weight:normal;line-height:1.35;margin:32px 0 16px}.text_art p{font-size:17px;line-height:1.8;color:#344250;margin:12px 0}.text_art img{width:150px;height:110px;object-fit:cover;border:0;margin:8px 25px 12px 0;float:left}.text_art img[id^=aree]{width:180px;height:130px}.text_art h2:has(+p){padding-top:8px}.text_art a:link,.text_art a:visited,.text_art a:hover{display:inline;width:auto;height:auto;text-align:inherit;text-decoration:underline}.text_art .space{height:22px}.text_art #cont1,.text_art #cont2{width:calc(50% - 20px);margin:28px 20px 30px 0;float:left}.text_art #cont1 h2,.text_art #cont2 h2{margin:18px 0 8px}.text_art #cont1 img,.text_art #cont2 img{width:100%;height:170px;object-fit:cover;float:none;margin:0}.text_art #cont1 a,.text_art #cont2 a{font-size:14px}.text_art #cont3{width:auto;margin:20px 0;clear:both}.text_art .address-card:link,.text_art .address-card:visited{display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:170px;padding:22px;background:#edf2f4;text-decoration:none;border-left:3px solid var(--blue)}.address-card span{font:12px/1.4 Arial,sans-serif;letter-spacing:.08em}.address-card strong{font-size:23px;font-weight:normal}.footer{display:flex!important;flex-wrap:wrap;align-items:center;gap:18px 45px;height:auto;clear:both;padding:28px 5%;border:0;border-top:1px solid var(--line);background:#f7f8f8}.footer h1,.footer p{float:none;padding:0;margin:0;line-height:1.65;font-size:15px}.footer h1{font-size:18px}.footer2{display:block!important;max-width:1200px;margin:0 auto;padding:20px 5%;background:var(--ink);color:#dae3ea;font:12px/1.8 Arial,sans-serif;font-variant:normal}.footer2 a:link,.footer2 a:visited{color:#dae3ea}.clear{clear:both}
/* Legacy documents retain their original content and layout. */
body:not(:has(.wrap)){padding:24px;font-size:17px}body:not(:has(.wrap)) img{height:auto}iframe{max-width:100%}
@media(max-width:700px){.nav-utility ul{justify-content:center;gap:0 14px}.nav-utility ul li a{padding:15px 0;font-size:13px}.master-head{min-height:100px;justify-content:center}.master-head img{width:140px}.galleria{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.galleria img{height:270px}.tile-label{font-size:18px}.text_art{padding:0 22px 28px}.text_art [class^=banner]{margin:0 -22px 24px;padding:22px}.text_art h1{font-size:26px}.text_art p{font-size:16px}.text_art #cont1,.text_art #cont2{width:100%;float:none;margin:20px 0}.text_art img[id^=aree]{width:120px;height:100px}.footer{gap:12px;flex-direction:column;align-items:flex-start}body:not(:has(.wrap)) [style*="position: absolute"],body:not(:has(.wrap)) [style*="position:absolute"]{position:static!important;width:auto!important;height:auto!important;margin:12px 0}body:not(:has(.wrap)) table{max-width:100%;width:auto!important}body:not(:has(.wrap)) img{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.article{height:auto}ul.galleria a{width:100%;height:auto;float:none}ul.galleria li{position:relative}.text_art [class^=banner] h1{padding:0}.text_art p{padding:0}

.practice-area{display:flow-root;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line)}.practice-area:last-child{border-bottom:0;margin-bottom:0}.practice-area h2{margin-top:0}.practice-area img{width:180px;height:125px;margin-top:4px}@media(max-width:550px){.practice-area img{float:none;width:100%;height:150px;margin:0 0 18px}}

/* Logo approvato: proposta 3. Giustificazione dei testi discorsivi. */
.master-head{padding-top:0;padding-bottom:0;min-height:145px}
.master-head img.brand-logo{width:360px;height:auto;max-width:100%;object-fit:contain}
img.brand-logo{width:400px;max-width:100%;height:auto;object-fit:contain}
p, .text_art p, article li, .text_art li, td, blockquote{text-align:justify!important;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
h1,h2,h3,h4,h5,h6{text-align:left}
@media(max-width:700px){.master-head{min-height:120px}.master-head img.brand-logo{width:300px}}

/* Tipografia uniforme, vicina al carattere lineare del logo approvato. */
:root{--site-font:Arial,Helvetica,sans-serif}
body,body *{font-family:var(--site-font)!important}
.nav-utility{border-top:4px solid var(--blue)}
h1,h2,h3,h4{font-weight:400;letter-spacing:.015em}
.text_art h1{font-size:28px}.text_art h2{font-size:23px}
@media(max-width:700px){.text_art h1{font-size:24px}.text_art h2{font-size:21px}}

/* Aree: fotografie intere, senza ritagli, a ogni larghezza. */
.text_art .practice-area img{display:block;float:left;width:180px;max-width:100%;height:auto;object-fit:contain;margin:4px 25px 16px 0}
@media(max-width:550px){.text_art .practice-area img{float:none;width:100%;max-width:320px;height:auto;margin:0 0 18px}}

.language-switch{max-width:1200px;margin:0 auto;padding:6px 5%;display:flex;justify-content:flex-end;background:var(--paper);font-size:11px;line-height:1.4;letter-spacing:.1em}.language-switch a{color:var(--ink);text-decoration:none;padding:3px 7px}.language-switch a:hover{text-decoration:underline}

.footer2 .professional-details{margin:0 0 8px;font-size:12px;line-height:1.8;text-align:left!important;overflow-wrap:anywhere}

/* Contatti: fotografie locali, cliccabili verso la mappa della sede. */
.text_art .address-card:link,.text_art .address-card:visited{padding:0 0 18px;gap:10px;overflow:hidden;border-left:0;border-bottom:3px solid var(--blue)}
.text_art #cont1 .address-card img.city-photo,.text_art #cont2 .address-card img.city-photo{display:block;float:none;width:100%;height:220px;object-fit:contain;background:#e6ecef;margin:0 0 8px;max-width:100%}
.text_art .address-card>span,.text_art .address-card>strong{padding:0 18px}

.text_art #cont1 .address-card img.city-photo,.text_art #cont2 .address-card img.city-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;display:block}

/* Foto scelte: stessa proporzione 16:9 a ogni larghezza. */
.text_art #cont1 .address-card img.city-photo,.text_art #cont2 .address-card img.city-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 50%}
.text_art #cont2 .address-card img.city-photo{object-position:50% 10%}
