@charset "UTF-8";
:root { --wine:#8f2133; --wine-dark:#651526; --orange:#ef4a22; --gold:#f6a000; --bg:#f6f3f1; --ink:#27232a; --muted:#746d72; --line:#eadfda; }
* { box-sizing:border-box; }
body { margin:0; font-family:Manrope,Arial,sans-serif; color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { width:min(1160px,calc(100% - 40px)); margin:auto; }
.topbar { height:72px; background:var(--wine-dark); color:#fff; }
.topbar .wrap { height:100%; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; gap:11px; align-items:center; text-decoration:none; }
.brand-icon { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; overflow:hidden; background:#fff; box-shadow:0 0 0 2px rgba(255,255,255,.2); }
.brand-icon img { width:100%; height:100%; object-fit:cover; object-position:center 19%; transform:scale(1.28); }
.brand b,.brand small { display:block; }
.brand b { font-size:14px; letter-spacing:.035em; }
.brand small { font-size:9px; color:#efc7ce; text-transform:uppercase; letter-spacing:.14em; }
.top-actions { display:flex; align-items:center; gap:10px; }
.top-actions a { height:40px; padding:0 14px; display:flex; align-items:center; gap:8px; color:#f2d9dd; text-decoration:none; font-size:12px; border-radius:9px; }
.top-actions a:hover { background:rgba(255,255,255,.1); color:#fff; }
.event-head { height:430px; color:#fff; background-image:linear-gradient(90deg,rgba(108,17,39,.22),rgba(108,17,39,.36) 52%,rgba(108,17,39,.58)),url('../images/roma-congresso-2026.png'); background-size:cover; background-position:center; }
.hero-grid { height:100%; width:min(1160px,calc(100% - 40px)); margin:auto; display:grid; grid-template-columns:1.35fr .72fr .72fr; grid-template-rows:1fr 1fr; padding:64px 0; }
.hero-card { background:rgba(89,16,34,.82); border:1px solid rgba(255,255,255,.17); backdrop-filter:blur(8px); padding:27px; display:flex; flex-direction:column; justify-content:center; }
.hero-title-card { grid-row:1/3; border-radius:24px 0 0 24px; }
.hero-info-card:nth-child(3) { border-radius:0 24px 0 0; }
.hero-date-card { grid-column:2/4; border-radius:0 0 24px 0; }
.edition,.hero-card small { text-transform:uppercase; letter-spacing:.15em; font-size:9px; font-weight:800; }
.edition { color:#ffc55c; margin:0 0 15px; }
.event-head h1 { font-size:42px; line-height:1.1; letter-spacing:-.035em; margin:0; }
.hero-card small { color:#efcbd1; margin-bottom:9px; }
.hero-card b { font-size:14px; line-height:1.5; }
.hero-card span { font-size:12px; margin-top:8px; color:#fff3e2; }
.hero-card i { color:#ffb72e; }
.workspace { padding:54px 0 72px; }
.section-title { display:flex; align-items:baseline; gap:18px; margin-bottom:24px; }
.section-title h2 { font-size:28px; margin:0; }
.section-title p { margin:0; color:var(--muted); font-size:13px; }
.primary-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:28px; }
.primary { min-height:92px; background:linear-gradient(135deg,var(--wine),#b62f46); color:#fff; border-radius:14px; padding:18px; display:grid; grid-template-columns:48px 1fr 18px; align-items:center; gap:14px; text-decoration:none; box-shadow:0 10px 25px rgba(107,20,41,.13); transition:.2s; }
.primary-program { background:linear-gradient(135deg,#ed4822,#f49a17); }
.primary:hover { transform:translateY(-3px); filter:brightness(1.04); }
.primary>span { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:rgba(255,255,255,.16); }
.primary b,.primary small { display:block; }
.primary b { font-size:15px; }
.primary small { font-size:10px; color:#fff0e8; margin-top:4px; }
.groups { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.group { background:#fff; border:1px solid var(--line); border-top:4px solid var(--wine); border-radius:14px; overflow:hidden; }
.group.information { border-top-color:var(--orange); }
.group header { padding:19px 22px; display:flex; align-items:center; gap:13px; border-bottom:1px solid var(--line); }
.group header>span { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:#f9e9eb; color:var(--wine); }
.information header>span { background:#fff0e8; color:var(--orange); }
.group h3,.group p { margin:0; }
.group h3 { font-size:15px; }
.group p { font-size:10px; color:var(--muted); margin-top:3px; }
.links { display:grid; grid-template-columns:1fr 1fr; padding:8px 14px 14px; }
.links a { min-height:49px; padding:0 9px; display:grid; grid-template-columns:22px 1fr 14px; align-items:center; gap:9px; border-bottom:1px solid #f1e9e6; text-decoration:none; font-size:12px; }
.links a:hover { color:var(--wine); background:#fff9f7; }
.links a>i { color:#8c7777; text-align:center; }
.links a>b { color:#b9a3a3; font-size:17px; text-align:center; }
.ecm-paths { margin-top:42px; padding:30px; border-radius:20px; background:linear-gradient(145deg,#74192b,var(--wine-dark)); color:#fff; box-shadow:0 18px 42px rgba(82,13,30,.16); }
.ecm-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.ecm-heading h2,.ecm-heading p { margin:0; }
.ecm-heading h2 { font-size:26px; }
.ecm-heading p { max-width:340px; color:#efcbd1; font-size:12px; text-align:right; }
.ecm-kicker { display:block; margin-bottom:5px; color:#ffc55c; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.ecm-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.ecm-grid a { min-height:112px; padding:15px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:rgba(255,255,255,.075); display:grid; grid-template-columns:38px 1fr 14px; align-items:center; gap:10px; color:#fff; text-decoration:none; transition:.2s; }
.ecm-grid a:hover { transform:translateY(-3px); background:rgba(255,255,255,.14); border-color:rgba(255,197,92,.5); }
.ecm-icon { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:rgba(255,183,46,.16); color:#ffc55c; }
.ecm-copy b,.ecm-copy small { display:block; }
.ecm-copy b { font-size:12px; line-height:1.35; }
.ecm-copy small { margin-top:6px; color:#efcbd1; font-size:8px; line-height:1.35; }
.ecm-grid a>i { color:#ffc55c; font-size:11px; }
.partner { background:#fff; border-top:1px solid var(--line); padding:28px 0; }
.partner .wrap { text-align:center; }
.partner p { font-size:10px; color:#758596; margin:0 0 12px; }
.partner img { width:190px; max-height:70px; object-fit:contain; }
footer { background:var(--wine-dark); color:#efc7ce; font-size:10px; padding:22px 0; }
footer .wrap { display:flex; justify-content:space-between; line-height:1.6; }
footer span:last-child { text-align:right; }
footer a { color:#fff; text-decoration:none; }
@media(max-width:980px){.ecm-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.event-head{height:auto;min-height:500px}.hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;padding:45px 0}.hero-title-card{grid-column:1/3;grid-row:auto;border-radius:22px 22px 0 0}.hero-info-card:nth-child(3){border-radius:0}.hero-date-card{grid-column:1/3;border-radius:0 0 22px 22px}.primary-grid,.groups{grid-template-columns:1fr}}
@media(max-width:520px){.wrap{width:calc(100% - 28px)}.brand b{font-size:11px}.top-actions>a:first-child{display:none}.event-head{min-height:540px;background-image:linear-gradient(180deg,rgba(82,13,30,.22),rgba(82,13,30,.82) 62%),url('../images/roma-congresso-2026.png');background-position:center}.hero-grid{width:calc(100% - 28px);grid-template-columns:1fr;padding:36px 0}.hero-title-card,.hero-date-card{grid-column:auto}.hero-title-card{grid-row:auto;border-radius:18px 18px 0 0}.hero-info-card:nth-child(3){border-radius:0}.hero-date-card{border-radius:0 0 18px 18px}.hero-info-card{padding:18px}.event-head h1{font-size:30px}.workspace{padding:38px 0 55px}.section-title{display:block}.section-title p{margin-top:5px}.links,.ecm-grid{grid-template-columns:1fr}.ecm-paths{margin-top:30px;padding:22px 16px}.ecm-heading{display:block}.ecm-heading p{margin-top:7px;text-align:left}.ecm-grid a{min-height:82px}footer .wrap{display:grid;gap:10px}footer span:last-child{text-align:left}}
