:root{--ink:#22201d;--ink-soft:#4a4640;--paper:#fff;--paper-2:#f4f4f2;--red:#b3272d;--red-deep:#8f1f24;--slate:#4c5a5e;--line:#ddd5c8;--white:#fff;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-.025em;}
a{color:inherit;text-decoration:none;}img{display:block;max-width:100%;}.wrap{max-width:1280px;margin:auto;padding:0 48px;}
header{position:sticky;top:0;z-index:50;background:rgba(247,244,239,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;gap:24px;max-width:1600px;margin:auto;}
.logo{display:flex;align-items:center;gap:10px;}.logo img{width:40px;height:auto;}.logo-text{font-family:'Fraunces',serif;font-size:19px;font-weight:500;letter-spacing:-.01em;}.logo-text span{color:var(--red);}
nav{font-size:14px;letter-spacing:.02em;}nav a:hover,nav .active{color:var(--red);}
.header-cta{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:var(--ink);color:#fff;padding:12px 18px;border-radius:2px;white-space:nowrap;}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-weight:600;margin-bottom:18px;}
.breadcrumb{font-size:12px;color:var(--ink-soft);margin-bottom:36px;}.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px;}
.company-intro{padding:42px 0 44px;}.company-intro h1{font-size:clamp(40px,5.5vw,68px);line-height:1.08;max-width:800px;}.company-intro .lead{font-size:17px;line-height:1.8;color:var(--ink-soft);max-width:650px;margin-top:24px;}
.contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:32px 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.channel{min-width:0;}.channel h2{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--ink-soft);margin-bottom:15px;}
.channel a{display:inline-block;max-width:100%;border-bottom:1px solid var(--line);padding-bottom:8px;overflow-wrap:anywhere;}.channel a:hover{border-color:var(--red);color:var(--red);}
.phone-link{font-family:'Fraunces',serif;font-size:clamp(30px,3.4vw,44px);line-height:1.2;}.email-link{font-size:clamp(18px,2vw,25px);line-height:1.7;}
.channel p{font-size:14px;line-height:1.8;color:var(--ink-soft);margin-top:14px;max-width:400px;}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:44px 0 64px;}.contact-details h2{font-size:28px;line-height:1.2;margin-bottom:20px;}.contact-details p,.contact-details address{font-size:15px;line-height:1.9;color:var(--ink-soft);font-style:normal;}
.contact-details .hours{margin-top:20px;}.contact-details strong{font-weight:600;color:var(--ink);}.text-link{display:inline-block;font-size:14px;font-weight:600;color:var(--red);padding:10px 0;margin-top:12px;border-bottom:1px solid var(--line);}.text-link:hover{border-color:var(--red);}
.request-details{padding-left:22px;color:var(--ink-soft);font-size:15px;line-height:1.8;}.request-details li{padding-left:4px;margin-bottom:7px;}.contact-details .request-note{font-size:13px;margin-top:18px;max-width:470px;}
footer{background:var(--ink);color:rgba(247,244,239,.7);padding:40px 0 24px;font-size:12px;line-height:1.7;}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr .8fr 1.2fr;gap:32px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12);}.footer-grid>div{min-width:0;}.footer-grid h4{font-size:12px;color:#fff;margin-bottom:12px;}.footer-grid a{display:block;margin-bottom:7px;overflow-wrap:anywhere;}.footer-grid a:hover{color:#fff;}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding-top:20px;font-size:11px;}
@media(max-width:900px){.wrap{padding:0 32px;}.contact-channels,.contact-details{gap:32px;}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.company-intro{padding-top:30px;}.company-intro h1{font-size:48px;}}
@media(max-width:640px){.wrap{padding:0 22px;}.company-intro{padding:24px 0 32px;}.breadcrumb{margin-bottom:28px;}.company-intro h1{font-size:40px;}.company-intro .lead{font-size:15px;margin-top:20px;}.contact-channels{grid-template-columns:1fr;gap:28px;padding:28px 0;}.contact-details{grid-template-columns:1fr;gap:36px;padding:34px 0 44px;}.contact-details h2{font-size:26px;}.phone-link{font-size:34px;}.email-link{font-size:18px;}.footer-grid{gap:26px;}}
@media(max-width:380px){.company-intro h1{font-size:36px;}.phone-link{font-size:31px;}.email-link{font-size:17px;}.footer-grid{grid-template-columns:1fr;}}
.company-story{padding:4px 0 50px;}.company-story-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;}.company-story h2,.company-process h2,.company-invitation h2{font-size:clamp(28px,3.2vw,40px);line-height:1.2;margin-bottom:22px;}.company-story p,.company-invitation p{font-size:15px;line-height:1.85;color:var(--ink-soft);margin-bottom:16px;max-width:650px;}.company-story figure{margin:0;min-width:0;}.company-story img{width:100%;height:auto;}.company-story figcaption{font-size:11px;line-height:1.6;color:var(--ink-soft);margin-top:10px;}
.company-process{padding:38px 0 46px;}.company-process>.wrap{border-top:1px solid var(--line);padding-top:34px;}.company-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:34px;}.step-number{font-size:12px;color:var(--red);}.company-steps h3{font-family:'Inter',sans-serif;font-size:17px;letter-spacing:0;font-weight:500;margin:16px 0 12px;}.company-steps p{font-size:14px;line-height:1.85;color:var(--ink-soft);}.company-invitation{padding:22px 0 64px;}.company-invitation h2{max-width:700px;}.company-invitation .text-link{margin-top:0;}
@media(max-width:900px){.company-story-layout{gap:32px;}.company-steps{gap:26px;}}
@media(max-width:640px){.company-story{padding-bottom:28px;}.company-story-layout{grid-template-columns:1fr;gap:28px;}.company-story h2{font-size:30px;}.company-process{padding:20px 0 28px;}.company-steps{grid-template-columns:1fr;gap:26px;margin-top:28px;}.company-steps h3{margin-top:9px;}.company-invitation{padding:18px 0 42px;}}
.company-steps.personal-experience{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;}.personal-experience h3{margin-top:0;}
@media(max-width:640px){.company-steps.personal-experience{grid-template-columns:1fr;}}

/* Album dei lavori: immagini intere, didascalie esterne. */
.work-intro-note{max-width:650px;margin-top:14px;font-size:13px;line-height:1.7;color:var(--ink-soft);}
.work-group{padding:12px 0 44px;}.work-group h2{font-size:clamp(28px,3vw,38px);line-height:1.2;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px;}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px;}.work-grid figure{min-width:0;}.work-photo{display:block;width:100%;height:auto;border:0;background:transparent;padding:0;cursor:zoom-in;}.work-photo img{width:100%;height:auto;max-height:440px;object-fit:contain;}.work-grid figcaption{font-size:13px;line-height:1.6;margin-top:12px;color:var(--ink-soft);}.work-photo:focus-visible{outline:3px solid var(--red);outline-offset:5px;}
.work-dialog{margin:auto;width:min(1100px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);border:0;padding:18px 22px;background:var(--paper);color:var(--ink);}.work-dialog::backdrop{background:rgba(20,19,17,.85);}.work-dialog-head,.work-dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;}.work-dialog-head{margin-bottom:12px;font-size:13px;color:var(--ink-soft);}.work-dialog button{min-height:44px;padding:10px 16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 14px 'Inter',sans-serif;cursor:pointer;}.work-dialog button:hover{border-color:var(--red);color:var(--red);}.work-dialog button:focus-visible{outline:3px solid var(--red);outline-offset:2px;}#work-preview{width:100%;height:calc(100dvh - 225px);min-height:100px;object-fit:contain;}#work-caption{font-size:13px;line-height:1.6;margin:12px 0;}.work-dialog-controls{justify-content:center;}
@media(max-width:640px){.work-group{padding:6px 0 30px;}.work-grid{grid-template-columns:1fr;gap:28px;}.work-photo{height:auto;background:transparent;}.work-photo img{height:auto;max-height:470px;object-fit:contain;}.work-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:12px;}#work-preview{height:calc(100dvh - 230px);}.work-dialog-controls{gap:12px;}}
