:root{--red:#df1f2d;--red-dark:#b91522;--ink:#171717;--muted:#646464;--line:#ececec;--soft:#f7f7f7;--white:#fff;--shadow:0 18px 45px rgba(0,0,0,.08);--radius:28px;}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 36px));margin:0 auto}.narrow{width:min(860px,calc(100% - 36px))}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:99}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:22px;min-height:88px}.brand img,.custom-logo{display:block;width:168px;max-height:72px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:14px;font-weight:700}.main-nav a{text-decoration:none;padding:8px 4px;border-bottom:2px solid transparent}.main-nav a:hover{color:var(--red);border-color:var(--red)}.lang-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang-switch-menu{margin-left:4px;flex-shrink:0}.lang-switch a{text-decoration:none;font-weight:800;font-size:12px;padding:7px 10px}.lang-switch a.active{background:var(--red);color:#fff}.nav-toggle{display:none;background:var(--red);color:#fff;border:0;border-radius:999px;padding:9px 14px;font-weight:800}.hero{padding:78px 0;background:linear-gradient(135deg,#fff 0%,#fff 55%,#fff4f5 100%)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.eyebrow{margin:0 0 12px;color:var(--red);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.eyebrow.light{color:#fff;opacity:.86}.hero h1,.page-hero h1{font-size:clamp(42px,6vw,76px);line-height:.97;margin:0 0 24px;letter-spacing:-.055em}.lead{font-size:clamp(19px,2.4vw,24px);color:#383838;margin:0 0 28px}.subtitle{font-size:24px;font-weight:800;color:var(--red);margin:0 0 14px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:900}.btn-primary{background:var(--red);color:#fff;box-shadow:0 12px 28px rgba(223,31,45,.25)}.btn-primary:hover{background:var(--red-dark)}.btn-outline{border:2px solid var(--red);color:var(--red);background:#fff}.hero-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.hero-card img{display:block;margin:0 auto 22px;max-height:190px;object-fit:contain}.hero-card ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}.hero-card li{position:relative;padding-left:28px;font-weight:750}.hero-card li:before{content:"";position:absolute;left:0;top:.55em;width:13px;height:13px;background:var(--red);border-radius:999px}.section{padding:72px 0}.section-muted{background:var(--soft)}.section-red{background:var(--red);color:#fff}.cards{display:grid;gap:22px}.cards.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 25px rgba(0,0,0,.04)}.card h2{font-size:25px;line-height:1.1;margin:0 0 12px;letter-spacing:-.025em}.card p{margin:0;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.section-red h2{font-size:clamp(34px,4vw,54px);line-height:1;margin:0;letter-spacing:-.045em}.quick-links{display:grid;gap:12px}.quick-links a{background:#fff;color:var(--red);padding:16px 18px;border-radius:18px;text-decoration:none;font-weight:900}.page-hero{background:linear-gradient(135deg,#fff 0%,#fff5f6 100%);text-align:left}.pill-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.pill-grid span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 18px;font-weight:800}.cta-band{background:#151515;color:#fff}.cta-band h2{font-size:clamp(30px,4vw,48px);line-height:1;margin:0}.site-footer{background:#080808;color:#fff;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:44px}.footer-logo{width:160px;filter:brightness(1.25);background:#fff;border-radius:16px;padding:10px;margin-bottom:16px}.site-footer h2{font-size:18px;margin:0 0 14px}.site-footer a{display:block;color:#fff;text-decoration:none;margin:8px 0;opacity:.86}.site-footer p{color:rgba(255,255,255,.75);margin:0}.site-footer .small{font-size:14px;margin-top:16px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:22px;color:rgba(255,255,255,.62);font-size:14px}.post-card{border-bottom:1px solid var(--line);padding:28px 0}
@media(max-width:920px){.header-inner{min-height:76px;flex-wrap:wrap}.brand img,.custom-logo{width:135px}.nav-toggle{display:inline-flex;margin-left:auto}.main-nav{display:none;order:5;width:100%;margin:0;flex-direction:column;align-items:flex-start;padding:12px 0 18px;border-top:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav a{width:100%;padding:11px 0}.lang-switch-menu{margin-left:0;margin-top:8px}.main-nav .lang-switch-menu a{width:auto;padding:7px 12px}.lang-switch{margin-left:0}.hero-grid,.split,.footer-grid{grid-template-columns:1fr}.cards.three{grid-template-columns:1fr}.hero{padding:48px 0}.section{padding:48px 0}.hero h1,.page-hero h1{font-size:42px}.lead{font-size:19px}}


/* Contact form */
.contact-form-section { padding-top: 0; }
.contact-form-card { background: #fff; border: 1px solid rgba(185, 28, 28, .14); border-radius: 28px; box-shadow: 0 20px 60px rgba(27, 31, 35, .08); padding: clamp(24px, 4vw, 44px); }
.contact-form-card h2 { margin-top: 0; }
.ulisse-contact-form { display: grid; gap: 18px; margin-top: 22px; }
.form-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ulisse-contact-form label { display: grid; gap: 8px; font-weight: 700; color: #262626; }
.ulisse-contact-form input, .ulisse-contact-form select, .ulisse-contact-form textarea { width: 100%; border: 1px solid rgba(38,38,38,.18); border-radius: 16px; padding: 13px 15px; font: inherit; background: #fff; color: #262626; }
.ulisse-contact-form input:focus, .ulisse-contact-form select:focus, .ulisse-contact-form textarea:focus { outline: 3px solid rgba(185, 28, 28, .16); border-color: var(--ulisse-red); }
.privacy-check { grid-template-columns: auto 1fr; align-items: flex-start; font-weight: 500 !important; line-height: 1.5; }
.privacy-check input { width: auto; margin-top: 4px; }
.form-note { font-size: .95rem; opacity: .78; margin-bottom: 0; }
.form-alert { border-radius: 16px; padding: 14px 16px; font-weight: 700; margin-top: 16px; }
.form-alert-success { background: #ecfdf3; color: #166534; border: 1px solid #bbf7d0; }
.form-alert-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.ulisse-hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
@media (max-width: 720px) { .form-grid.two { grid-template-columns: 1fr; } .contact-form-card { border-radius: 22px; } }

/* Editable content helpers */
.home-editable-content > .hero:first-child { margin-top: 0; }
.editable-page-content h2 { font-size: 30px; line-height: 1.15; margin: 0 0 12px; letter-spacing: -.025em; }
.editable-page-content p { color: var(--muted); }
.editable-page-content ul { padding-left: 1.25rem; }
.editable-page-content .lead { color: #383838; }
.wp-block-buttons.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.wp-block-button__link { border-radius: 999px; font-weight: 900; }
.wp-block-button.btn-primary .wp-block-button__link { background:var(--red); color:#fff; box-shadow:0 12px 28px rgba(223,31,45,.25); min-height:48px; display:inline-flex; align-items:center; padding:0 22px; }
.wp-block-button.btn-primary .wp-block-button__link:hover { background:var(--red-dark); }
.wp-block-button.btn-outline .wp-block-button__link { background:#fff; color:var(--red); border:2px solid var(--red); min-height:48px; display:inline-flex; align-items:center; padding:0 22px; }
.home-editable-content .hero-card figure { margin:0 auto 22px; text-align:center; }
.home-editable-content .hero-card figure img { max-height:190px; width:auto; object-fit:contain; }
.home-editable-content .quick-links p { margin:0; }
.home-editable-content .quick-links p a { display:block; }
