
:root{--blue:#101a36;--blue2:#14244d;--gold:#b28742;--ivory:#f7f3ec;--paper:#fffdf8;--text:#182033;--muted:#5e6575;--line:#e2d8c8;--shadow:0 18px 55px rgba(16,26,54,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.58}img{max-width:100%;display:block}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 26px}.site-header{position:sticky;top:0;z-index:100;background:rgba(247,243,236,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--blue);min-width:270px}.brand-mark{width:42px;height:42px;object-fit:contain;flex:0 0 42px}.brand-text strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:17px;letter-spacing:.08em;line-height:1.05}.brand-text span{display:block;color:var(--gold);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}.nav-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.nav-links a{text-decoration:none;color:var(--blue);font-weight:650;font-size:14px}.nav-cta{background:var(--blue);color:white!important;padding:12px 18px;border-radius:12px}.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(247,243,236,.98) 0%,rgba(247,243,236,.94) 48%,rgba(247,243,236,.78) 100%);border-bottom:1px solid var(--line)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(178,135,66,.14),transparent 30%),linear-gradient(90deg,transparent 0%,transparent 58%,rgba(16,26,54,.08) 100%);pointer-events:none}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;min-height:575px;align-items:center;gap:42px}.eyebrow{font-size:13px;color:var(--gold);font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:16px}.hero h1,.title{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:66px;line-height:1.02;margin:0 0 24px;letter-spacing:-.035em}.hero h1 .gold{color:var(--gold)}.hero p{font-size:20px;max-width:640px;margin:0;color:#2d3445}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:12px;padding:13px 20px;font-weight:800;font-size:14px;border:1px solid transparent}.btn.primary{background:var(--blue);color:#fff}.btn.gold{background:var(--gold);color:#fff}.btn.ghost{background:transparent;border-color:var(--line);color:var(--blue)}.hero-visual{min-height:430px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.52)),url('/assets/stemma-dimaio.jpg');background-size:220px,230px;background-position:center,right 38px bottom 36px;background-repeat:no-repeat;box-shadow:var(--shadow);border:1px solid rgba(226,216,200,.9);padding:34px;display:flex;align-items:flex-start;justify-content:flex-end}.hero-box{width:min(315px,100%);background:rgba(255,253,248,.9);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(16,26,54,.08)}.hero-box h2{font-family:Georgia,'Times New Roman',serif;margin:0 0 8px;color:var(--blue);font-size:30px}.hero-box p{font-size:15px;color:var(--muted)}.stats-band{background:linear-gradient(135deg,#071021,var(--blue2));color:#fff}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.stat{padding:28px 26px;border-left:1px solid rgba(255,255,255,.12)}.stat:first-child{border-left:0}.stat b{display:block;font-family:Georgia,'Times New Roman',serif;font-size:36px;color:#fff}.stat span{color:#d9d0c1}.section{padding:82px 0}.section.alt{background:#fffaf2}.section.dark{background:var(--blue);color:#fff}.section h2{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:46px;line-height:1.08;margin:0 0 18px;letter-spacing:-.025em}.section.dark h2{color:#fff}.lead{font-size:20px;color:#3a4152;max-width:850px}.section.dark .lead,.section.dark p{color:#e3dccf}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 8px 28px rgba(16,26,54,.04)}.card h3{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:25px;line-height:1.05;margin:0 0 12px}.card p{margin:0;color:#555e70}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.service{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;min-height:170px}.service .icon{font-size:26px;color:var(--gold);margin-bottom:12px}.service h3{font-family:Georgia,'Times New Roman',serif;color:var(--blue);margin:0 0 10px;font-size:24px;line-height:1.05}.split{display:grid;grid-template-columns:1fr .8fr;gap:46px;align-items:center}.crest-panel{position:relative;min-height:320px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.crest-panel:before{content:"";position:absolute;inset:0;background:url('/assets/stemma-dimaio.jpg') center/270px no-repeat;opacity:.14}.crest-panel .quote{position:relative;z-index:1;padding:36px}.timeline{margin-top:32px;border-left:3px solid var(--gold);padding-left:26px}.time{margin-bottom:24px}.time b{color:var(--gold);font-size:22px}.page-title{padding:74px 0 42px;background:linear-gradient(180deg,#fffaf4,var(--ivory));border-bottom:1px solid var(--line)}.page-title h1{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:58px;line-height:1.05;margin:0 0 14px}.contact-box,.notice{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 8px 28px rgba(16,26,54,.04)}.pub{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin:16px 0;text-decoration:none}.pub h3{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:24px;margin:0 0 8px}.site-footer{background:#071021;color:#f2eee6;padding:48px 0}.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}.foot strong{font-family:Georgia,'Times New Roman',serif;letter-spacing:.08em}.small{font-size:14px;color:#bfb8ac}.site-footer a{color:#fff}.watermark{position:absolute;right:5%;bottom:-50px;width:240px;opacity:.07;pointer-events:none}.cta-strip{position:relative;overflow:hidden}.cta-strip .wrap{position:relative;z-index:1}
.identity-panel{position:relative;min-height:330px;border-radius:26px;background:linear-gradient(135deg,#fffdf8,#fff8ee);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:.75fr 1fr;align-items:center;gap:22px;padding:30px}.identity-panel:before{content:"";position:absolute;right:-55px;bottom:-75px;width:260px;height:260px;background:url('/assets/stemma-dimaio.jpg') center/contain no-repeat;opacity:.045;pointer-events:none}.identity-mark{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);min-height:230px}.identity-mark img{width:150px;max-width:78%;height:auto;object-fit:contain;opacity:.92;filter:contrast(1.03)}.identity-panel .quote{position:relative;z-index:1;padding:8px 8px 8px 0}.identity-panel h3{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:30px;line-height:1.05;margin:0 0 16px}.identity-panel p{font-size:17px;color:#343b4c;margin:0 0 14px}.identity-panel .small{font-size:14px;color:var(--muted);margin-top:14px}
@media(max-width:900px){.nav{height:auto;align-items:flex-start;padding:14px 0;flex-direction:column}.brand{min-width:0}.nav-links{gap:14px}.hero-inner,.split,.foot{grid-template-columns:1fr}.hero h1,.title{font-size:45px}.hero-inner{min-height:auto;padding:54px 0}.hero-visual{min-height:260px}.stats-row,.cards,.service-grid{grid-template-columns:1fr}.section{padding:58px 0}.section h2,.page-title h1{font-size:38px}}

@media(max-width:900px){.identity-panel{grid-template-columns:1fr;padding:24px}.identity-mark{border-right:0;border-bottom:1px solid var(--line);min-height:150px;padding-bottom:20px}.identity-mark img{width:115px}.identity-panel .quote{padding:0}.identity-panel h3{font-size:26px}}

/* Refinement: contatti */
.contact-section{padding-top:62px}.contact-split{align-items:stretch;grid-template-columns:1fr .8fr}.contact-box h2{font-size:clamp(2rem,3vw,2.75rem);line-height:1.04;margin:0 0 4px;white-space:normal}.contact-studio h2{white-space:nowrap}.contact-studio .since{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12px;margin:0 0 24px}.contact-box p{font-size:16px}.contact-consult h3{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:clamp(1.8rem,2.6vw,2.55rem);line-height:1.08;margin:0 0 18px}.small-eye{font-size:12px;margin-bottom:10px}.consult-pop{position:relative;display:inline-block;margin-top:12px}.consult-pop .btn{box-shadow:0 12px 28px rgba(16,26,54,.16)}.popover{position:absolute;left:0;top:calc(100% + 14px);width:min(430px,88vw);background:#fffdf8;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 22px 65px rgba(16,26,54,.20);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s ease;z-index:50}.popover:before{content:"";position:absolute;top:-9px;left:30px;width:16px;height:16px;background:#fffdf8;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.consult-pop:hover .popover,.consult-pop:focus-within .popover{opacity:1;visibility:visible;transform:translateY(0)}.popover strong{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:22px}.popover p{font-size:14.5px;margin:10px 0 0;color:#394153}.popover-closing{font-weight:700;color:var(--blue)!important}.microtrust{font-size:13px!important;color:var(--muted);margin-top:18px!important}
@media(max-width:900px){.contact-split{grid-template-columns:1fr}.contact-studio h2{white-space:normal}.popover{position:static;opacity:1;visibility:visible;transform:none;margin-top:16px;width:100%}.popover:before{display:none}}
.areas-grid{grid-template-columns:repeat(3,1fr)}
.areas-grid .service:last-child{grid-column:2/3}
@media(max-width:900px){.areas-grid{grid-template-columns:1fr}.areas-grid .service:last-child{grid-column:auto}}
