:root {
  --color-primary:#075b9f; --color-primary-dark:#053b68; --color-primary-light:#eaf5fc;
  --color-background:#fff; --color-surface:#f4f7f9; --color-text:#18242d;
  --color-text-muted:#52636f; --color-border:#d5e0e7; --shadow:0 14px 36px rgba(10,41,62,.09);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--color-background); color:var(--color-text); font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--color-primary); }
a:hover { color:var(--color-primary-dark); }
.container { width:min(1120px,calc(100% - 40px)); margin:auto; }
.skip-link { position:absolute; top:-4rem; left:1rem; z-index:20; padding:.65rem 1rem; background:#fff; color:#000; }
.skip-link:focus { top:1rem; }
.site-header { position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); background:rgba(255,255,255,.9); border-bottom:1px solid rgba(7,91,159,.14); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; min-height:76px; }
.brand { display:flex; align-items:center; gap:.6rem; color:var(--color-text); font-size:.85rem; line-height:1.05; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.brand strong { font-size:1.12rem; }
.brand-mark { display:block; width:22px; height:30px; border:4px solid var(--color-primary); border-top-width:8px; border-bottom:0; transform:skewY(-18deg); }
.main-nav { display:flex; align-items:center; gap:1.25rem; }
.main-nav a { color:var(--color-text); font-size:.9rem; font-weight:650; text-decoration:none; }
.menu-toggle { display:none; padding:.4rem .6rem; border:1px solid var(--color-border); background:#fff; font-size:1.15rem; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1.08rem; border:2px solid var(--color-primary); border-radius:2px; background:var(--color-primary); color:#fff; font-weight:750; text-decoration:none; transition:transform .2s,background .2s,box-shadow .2s; }
.button:hover { background:var(--color-primary-dark); color:#fff; box-shadow:0 9px 20px rgba(5,59,104,.22); transform:translateY(-2px); }
.button-outline { background:transparent; color:var(--color-primary); }
.button-outline:hover { color:#fff; }
.button-small { padding:.48rem .75rem; }

.hero { --light-x:68%; --light-y:28%; position:relative; isolation:isolate; overflow:hidden; min-height:620px; padding:7rem 0 5.5rem; background:#f8fbfd; transition:background-color 1.15s ease; }
.hero::before { position:absolute; z-index:-3; top:-20%; right:-11vw; width:52vw; height:145%; background:var(--color-primary-light); content:""; transform:rotate(13deg); }
.hero::after { position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(circle at var(--light-x) var(--light-y),rgba(255,255,255,.64),rgba(226,243,253,.22) 26%,transparent 57%); opacity:.7; transition:opacity .75s ease; content:""; }
.hero-ambient-light { position:absolute; z-index:-2; inset:0; pointer-events:none; background:linear-gradient(112deg,rgba(6,48,83,.16),transparent 58%); opacity:0; transition:opacity 1.15s ease; }
.hero-beam { position:absolute; z-index:-1; top:4%; right:-9%; width:63%; height:105%; pointer-events:none; clip-path:polygon(74% 0,86% 0,100% 100%,0 100%); background:linear-gradient(112deg,transparent 0%,rgba(218,243,255,.08) 45%,rgba(231,248,255,.52) 78%,rgba(255,255,248,.76) 100%); opacity:.38; transform:translateX(11%) scaleX(.7); transform-origin:top right; transition:opacity .75s ease,transform 1.1s cubic-bezier(.2,.8,.2,1); }
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:3rem; }
.hero-content { transition:opacity .75s ease,transform .75s ease; }
.eyebrow { margin:0 0 .7rem; color:var(--color-primary); font-size:.74rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero h1,.page-hero h1 { margin:0; font-size:clamp(3rem,8vw,6.4rem); line-height:.92; letter-spacing:-.06em; }
.page-hero { position:relative; isolation:isolate; overflow:hidden; padding:7rem 0 5.5rem; background:#fff; }
.page-hero::before { position:absolute; z-index:-1; top:-20%; right:-13vw; width:52vw; height:150%; background:var(--color-primary-light); content:""; transform:rotate(13deg); }
.page-hero h1 { max-width:900px; font-size:clamp(2.25rem,5vw,4.2rem); }
.hero-lead { max-width:700px; font-size:clamp(1.3rem,2.8vw,2rem); font-weight:650; line-height:1.3; }
.hero p:not(.eyebrow),.page-hero p { max-width:720px; color:var(--color-text-muted); }
.hero-signature { margin:.8rem 0 0; color:var(--color-primary)!important; font-weight:750; letter-spacing:.02em; }
.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }
.catalog-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:2.5rem; padding:1.5rem; border-left:4px solid var(--color-primary); background:#fff; box-shadow:var(--shadow); }
.catalog-cta h2,.catalog-cta h3 { margin:.1rem 0 .6rem; }
.catalog-cta p { max-width:720px; margin:0; color:var(--color-text-muted); }
.catalog-section { padding-top:0; }
.hero-lamp { --lamp-x:52%; --lamp-y:15%; position:relative; z-index:1; display:flex; align-self:end; justify-content:center; height:505px; overflow:visible; }
.hero-lamp-image { position:relative; z-index:2; display:block; max-width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 18px 18px rgba(5,59,104,.22)); transition:filter .95s ease,opacity .85s ease; }
.lamp-core,.lamp-glow { position:absolute; z-index:1; top:var(--lamp-y); left:var(--lamp-x); pointer-events:none; border-radius:50%; opacity:.7; transform:translate(-50%,-50%); }
.lamp-core { z-index:3; width:17%; aspect-ratio:1.65; background:rgba(255,255,246,.9); box-shadow:0 0 10px 4px rgba(255,255,239,.55); opacity:.82; transition:opacity .5s ease,box-shadow .7s ease; }
.lamp-glow-near { width:32%; aspect-ratio:1.5; background:radial-gradient(ellipse,rgba(255,255,247,.8),rgba(220,245,255,.28) 45%,transparent 72%); filter:blur(6px); transition:opacity .8s ease,transform .8s ease; }
.lamp-glow-wide { width:74%; aspect-ratio:1.12; background:radial-gradient(ellipse,rgba(214,242,255,.34),transparent 67%); filter:blur(14px); transition:opacity 1.1s ease,transform 1.1s ease; }
.js-enabled .hero-lighting.is-lighting { background:#eaf2f6; }
.js-enabled .hero-lighting.is-lighting::after { opacity:.2; }
.js-enabled .hero-lighting.is-lighting .hero-ambient-light { opacity:1; }
.js-enabled .hero-lighting.is-lighting .hero-content { opacity:.8; transform:translateY(5px); }
.js-enabled .hero-lighting.is-lighting .hero-lamp-image { filter:brightness(.72) saturate(.74) drop-shadow(0 14px 14px rgba(5,59,104,.12)); }
.js-enabled .hero-lighting.is-lighting .lamp-core { opacity:.16; box-shadow:none; }
.js-enabled .hero-lighting.is-lighting .lamp-glow { opacity:0; transform:translate(-50%,-50%) scale(.6); }
.js-enabled .hero-lighting.is-lighting .hero-beam { opacity:0; transform:translateX(12%) scaleX(.62); }
.js-enabled .hero-lighting.is-lighting.is-powering .lamp-core { opacity:.95; box-shadow:0 0 9px 3px rgba(255,255,239,.85),0 0 23px 8px rgba(196,233,255,.42); }
.js-enabled .hero-lighting.is-lighting.is-powering .lamp-glow-near { opacity:.82; transform:translate(-50%,-50%) scale(.9); }
.js-enabled .hero-lighting.is-lighting.is-powering .lamp-glow-wide { opacity:.42; transform:translate(-50%,-50%) scale(.82); }
.js-enabled .hero-lighting.is-lighting.is-powering .hero-beam { opacity:.24; transform:translateX(5%) scaleX(.84); }
.js-enabled .hero-lighting.is-lit { background:#f8fbfd; }
.js-enabled .hero-lighting.is-lit::after { opacity:.92; }
.js-enabled .hero-lighting.is-lit .hero-ambient-light { opacity:0; }
.js-enabled .hero-lighting.is-lit .hero-content { opacity:1; transform:none; }
.js-enabled .hero-lighting.is-lit .hero-lamp-image { filter:brightness(1.08) saturate(1.05) drop-shadow(0 18px 18px rgba(5,59,104,.25)); }
.js-enabled .hero-lighting.is-lit .lamp-core { opacity:1; box-shadow:0 0 12px 5px rgba(255,255,239,.9),0 0 34px 12px rgba(196,233,255,.5); }
.js-enabled .hero-lighting.is-lit .lamp-glow-near { opacity:1; transform:translate(-50%,-50%) scale(1); }
.js-enabled .hero-lighting.is-lit .lamp-glow-wide { opacity:.88; transform:translate(-50%,-50%) scale(1); }
.js-enabled .hero-lighting.is-lit .hero-beam { opacity:.48; transform:translateX(0) scaleX(1); }

.section { position:relative; padding:5.5rem 0; }
.section h2 { margin:.1rem 0 1.5rem; font-size:clamp(2rem,4vw,3.1rem); line-height:1.12; letter-spacing:-.035em; }
.section-muted { background:var(--color-surface); }
.section-muted::before { position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,transparent,var(--color-primary-light),transparent); content:""; }
.section-blue { background:var(--color-primary-dark); color:#fff; }
.section-blue .eyebrow { color:#bfe7ff; }
.section-blue a { color:#fff; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.two-col p { color:var(--color-text-muted); }
.card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.card { padding:1.5rem; border:1px solid var(--color-border); background:#fff; box-shadow:var(--shadow); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.card:hover { border-color:rgba(7,91,159,.45); box-shadow:0 20px 42px rgba(10,41,62,.15),0 0 0 3px rgba(234,245,252,.7); transform:translateY(-6px); }
.card h3,.benefits h3 { margin-top:0; line-height:1.25; }
.card p,.benefits p { color:var(--color-text-muted); font-size:.94rem; }
.benefits { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.benefits div { padding-top:1rem; border-top:3px solid var(--color-primary); }
.area-links { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.5rem; }
.area-links a { padding:.48rem .75rem; border:1px solid currentColor; text-decoration:none; transition:background .2s,color .2s; }
.area-links a:hover { background:var(--color-primary); color:#fff; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:2.5rem; font-size:.9rem; }
.check-list { padding-left:1.2rem; }
.contact { display:grid; grid-template-columns:1fr auto; gap:2rem; }
.vertical { flex-direction:column; align-items:flex-start; }
.site-footer { padding:3.5rem 0 1.2rem; background:#10202b; color:#dbe5eb; }
.site-footer .brand { color:#fff; }
.brand-footer { margin-bottom:1rem; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:2.5rem; }
.footer-grid h2 { color:#fff; font-size:1rem; }
.footer-grid p { max-width:300px; }
.footer-links { margin:0; padding:0; list-style:none; }
.footer-links li + li { margin-top:.55rem; }
.footer-links a { color:#dbe5eb; }
.copyright { margin-top:2rem; padding-top:1rem; border-top:1px solid #38505f; font-size:.82rem; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
details { padding:1rem 0; border-top:1px solid rgba(255,255,255,.35); }
summary { font-weight:700; cursor:pointer; }
.legal-details { max-width:720px; padding:1.25rem 1.5rem; border-left:3px solid var(--color-primary); background:#fff; box-shadow:var(--shadow); list-style:none; }
.legal-details li + li { margin-top:.35rem; }
.js-enabled [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1); }
.js-enabled [data-reveal].is-visible { opacity:1; transform:none; }
.js-enabled [data-reveal]:nth-child(2) { transition-delay:.08s; }
.js-enabled [data-reveal]:nth-child(3) { transition-delay:.16s; }
.js-enabled [data-reveal]:nth-child(4) { transition-delay:.24s; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } .hero-lighting .hero-ambient-light { opacity:0!important; } .hero-lighting .hero-content { opacity:1!important; transform:none!important; } .hero-lighting .hero-lamp-image { filter:brightness(1.08) saturate(1.05) drop-shadow(0 18px 18px rgba(5,59,104,.25))!important; } .hero-lighting .lamp-core { opacity:1!important; } .hero-lighting .lamp-glow-near { opacity:1!important; } .hero-lighting .lamp-glow-wide { opacity:.88!important; } .hero-lighting .hero-beam { opacity:.48!important; transform:none!important; } }
@media (max-width:780px) { .menu-toggle { display:block; } .main-nav { position:absolute; top:76px; right:0; left:0; display:none; flex-direction:column; align-items:stretch; padding:1rem 20px; border-bottom:1px solid var(--color-border); background:#fff; } .main-nav.is-open { display:flex; } .hero,.page-hero { min-height:0; padding:4.5rem 0 3.5rem; } .hero::before,.page-hero::before { right:-30vw; width:80vw; } .hero-grid,.two-col,.contact { grid-template-columns:1fr; gap:2rem; } .catalog-cta { align-items:flex-start; flex-direction:column; } .hero-beam { top:47%; right:-24%; width:100%; height:55%; opacity:.27!important; } .hero-lamp { height:350px; max-width:360px; margin:auto; } .hero-lamp { --lamp-x:52%; --lamp-y:15%; } .card-grid,.benefits { grid-template-columns:1fr 1fr; } .footer-grid { grid-template-columns:1fr; gap:1.5rem; } }
@media (max-width:440px) { .container { width:min(100% - 28px,1120px); } .card-grid,.benefits { grid-template-columns:1fr; } .hero h1 { font-size:3.3rem; } .hero-lamp { height:285px; } .actions { display:grid; grid-template-columns:1fr; } .actions .button { width:100%; } }

/* Hero del viale: l'immagine resta un contenuto decorativo, la luce è gestita dai layer CSS. */
.hero-lighting { min-height:650px; background:#08283f; color:#fff; }
.hero-lighting::before { z-index:-1; inset:0; width:auto; height:auto; background:linear-gradient(90deg,rgba(3,23,39,.92) 0%,rgba(4,30,49,.68) 43%,rgba(4,28,46,.08) 80%); transform:none; }
.hero-lighting::after { z-index:0; background:radial-gradient(circle at var(--light-x) var(--light-y),rgba(213,241,255,.2),transparent 46%); }
.hero-avenue { position:absolute; z-index:-2; inset:0; overflow:hidden; }
.hero-avenue img { width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.94) saturate(.9); transition:filter 1.1s ease,opacity 1.1s ease; }
.hero-lighting .hero-grid { min-height:500px; }
.hero-lighting .hero-content { max-width:650px; }
.hero-lighting .eyebrow,.hero-lighting .hero-signature { color:#c4eaff!important; }
.hero-lighting .hero-lead,.hero-lighting p:not(.eyebrow) { color:#eef7fb; }
.hero-lighting .button-outline { border-color:rgba(255,255,255,.75); color:#fff; }
.hero-lighting .button-outline:hover { border-color:var(--color-primary); }
.hero-lighting .hero-beam { z-index:0; top:0; right:-6%; width:62%; height:108%; clip-path:polygon(77% 0,88% 0,100% 100%,0 100%); background:linear-gradient(112deg,transparent 0%,rgba(184,229,255,.03) 44%,rgba(216,244,255,.28) 78%,rgba(255,255,244,.56) 100%); }
.js-enabled .hero-lighting.is-lighting .hero-avenue img { filter:brightness(.48) saturate(.7); }
.js-enabled .hero-lighting.is-lighting .hero-content { opacity:.84; }
.js-enabled .hero-lighting.is-lit .hero-avenue img { filter:brightness(1) saturate(1); }
@media (prefers-reduced-motion:reduce) { .hero-lighting .hero-avenue img { filter:brightness(1) saturate(1)!important; } }
@media (max-width:780px) { .hero-lighting { min-height:560px; } .hero-lighting::before { background:linear-gradient(180deg,rgba(3,23,39,.84),rgba(4,30,49,.62) 55%,rgba(4,28,46,.25)); } .hero-lighting .hero-grid { min-height:490px; align-content:start; } .hero-lighting .hero-beam { top:40%; right:-26%; width:104%; height:58%; } }

/* Rifinitura dell'interfaccia */
:root {
  --radius-small:10px;
  --radius-medium:18px;
  --shadow-soft:0 14px 44px rgba(9,41,63,.08);
  --shadow-raised:0 22px 56px rgba(8,39,60,.14);
}

body { text-rendering:optimizeLegibility; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #68c9ff; outline-offset:3px; }
.site-header { box-shadow:0 1px 18px rgba(8,39,60,.05); }
.header-inner { min-height:72px; }
.brand { flex:0 0 auto; }
.brand-mark { border-radius:2px 2px 0 0; }
.main-nav { gap:1.4rem; }
.main-nav > a:not(.button) { position:relative; padding:.65rem 0; }
.main-nav > a:not(.button)::after { position:absolute; right:0; bottom:.35rem; left:0; height:2px; background:var(--color-primary); content:""; opacity:0; transform:scaleX(.3); transition:opacity .2s ease,transform .2s ease; }
.main-nav > a:not(.button):hover::after,.main-nav > a:not(.button):focus-visible::after { opacity:1; transform:scaleX(1); }
.button { min-height:46px; padding:.72rem 1.15rem; border-radius:999px; letter-spacing:.005em; }
.main-nav .button,.main-nav .button:hover { color:#fff; }
.button-small { min-height:40px; padding:.46rem .9rem; }
.menu-toggle { width:44px; height:44px; padding:0; border-radius:50%; cursor:pointer; }
.menu-icon { display:grid; gap:4px; width:19px; margin:auto; }
.menu-icon span { display:block; height:2px; border-radius:2px; background:var(--color-text); transition:transform .2s ease,opacity .2s ease; }
.menu-toggle[aria-expanded="true"] .menu-icon span:first-child { transform:translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] .menu-icon span:last-child { transform:translateY(-6px) rotate(-45deg); }

.hero-lighting { min-height:calc(100svh - 72px); padding:clamp(5.5rem,10vh,8rem) 0 clamp(4.5rem,8vh,7rem); }
.hero-lighting .hero-grid { min-height:min(610px,72vh); }
.hero-lighting .hero-content { max-width:680px; padding:1.1rem 0; text-shadow:0 2px 20px rgba(3,22,36,.2); }
.hero-lighting h1 { max-width:650px; font-size:clamp(4rem,8vw,7rem); }
.hero-lighting .hero-lead { margin:1.5rem 0 .85rem; font-size:clamp(1.25rem,2.1vw,1.72rem); }
.hero-lighting .hero-signature { display:inline-flex; align-items:center; gap:.65rem; margin-top:.95rem; font-size:.9rem; letter-spacing:.09em; text-transform:uppercase; }
.hero-lighting .hero-signature::before { width:28px; height:1px; background:currentColor; content:""; }
.hero-lighting .actions { margin-top:2rem; }
.hero-lighting .button { min-width:185px; }
.hero-lighting .button-outline { backdrop-filter:blur(7px); background:rgba(5,37,59,.24); }

.section { padding:clamp(4.5rem,8vw,7rem) 0; }
.section .container > h2 { max-width:820px; margin-bottom:2.2rem; }
.section-intro .two-col { align-items:start; }
.section-intro .two-col > div:last-child { padding:1.2rem 0 1.2rem 2rem; border-left:1px solid var(--color-border); font-size:1.08rem; }
.section-intro .two-col > div:last-child p:first-child { margin-top:0; }
.section-muted { background:#f5f8fa; }
.card-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr)); gap:1.25rem; }
.section-solutions .card-grid { grid-template-columns:repeat(3,1fr); }
.card { position:relative; min-height:210px; padding:1.65rem; overflow:hidden; border-radius:var(--radius-small); box-shadow:var(--shadow-soft); }
.card::before { position:absolute; top:0; right:0; left:0; height:3px; background:var(--color-primary); content:""; opacity:.78; transform:scaleX(.22); transform-origin:left; transition:transform .3s ease; }
.card:hover::before { transform:scaleX(1); }
.card h3 { margin-bottom:.7rem; font-size:1.12rem; }
.card h3 a { color:var(--color-text); text-decoration:none; }
.card h3 a::after { display:inline-block; margin-left:.25rem; color:var(--color-primary); content:"→"; transition:transform .2s ease; }
.card:hover h3 a::after { transform:translateX(4px); }
.card p { margin-bottom:0; }
.catalog-cta { position:relative; overflow:hidden; margin-top:2.5rem; padding:clamp(1.6rem,4vw,2.5rem); border:0; border-radius:var(--radius-medium); background:#0a3552; color:#fff; box-shadow:var(--shadow-raised); }
.catalog-cta::after { position:absolute; top:-55%; right:-7%; width:260px; aspect-ratio:1; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.018); content:""; pointer-events:none; }
.catalog-cta > * { position:relative; z-index:1; }
.catalog-cta .eyebrow { color:#aeddF8; }
.catalog-cta h3 { font-size:clamp(1.35rem,2.3vw,1.75rem); }
.catalog-cta p { color:#dcebf3; }
.catalog-cta .button { flex:0 0 auto; border-color:#fff; background:#fff; color:var(--color-primary-dark); }
.catalog-cta .button:hover { border-color:#d9f1ff; background:#d9f1ff; color:var(--color-primary-dark); }

.section-benefits { padding-top:1rem; }
.benefits { gap:1.1rem; counter-reset:benefit; }
.benefits div { position:relative; min-height:215px; padding:4.2rem 1.35rem 1.35rem; border:1px solid var(--color-border); border-radius:var(--radius-small); background:#fff; counter-increment:benefit; }
.benefits div::before { position:absolute; top:1.3rem; left:1.35rem; display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--color-primary-light); color:var(--color-primary); content:"0" counter(benefit); font-size:.72rem; font-weight:850; }
.section-blue { overflow:hidden; background:#092f49; }
.section-blue::before { position:absolute; top:-180px; right:-120px; width:520px; height:520px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018); content:""; }
.section-blue .container { position:relative; z-index:1; }
.section-blue > .container > p:not(.eyebrow) { max-width:690px; color:#d2e3ec; }
.area-links { gap:.8rem; margin-top:2rem; }
.area-links a { padding:.58rem .92rem; border-color:rgba(255,255,255,.55); border-radius:999px; }
.area-links a:hover { border-color:#fff; background:#fff; color:var(--color-primary-dark); }

.section-contact { background:linear-gradient(180deg,#fff 0%,#f3f8fb 100%); }
.contact { align-items:center; padding:clamp(1.7rem,4vw,3rem); border:1px solid #cfe0e9; border-radius:var(--radius-medium); background:#fff; box-shadow:var(--shadow-soft); }
.contact h2 { margin-bottom:1rem!important; }
.contact p:last-child { max-width:680px; margin-bottom:0; color:var(--color-text-muted); }
.contact .actions { margin-top:0; }
.site-footer { padding-top:4.5rem; background:#0d202c; }
.footer-grid { gap:clamp(2rem,6vw,5rem); }
.footer-grid h2 { margin:0 0 1rem; color:#fff; letter-spacing:.03em; }
.footer-links a { text-decoration-color:rgba(219,229,235,.35); text-underline-offset:3px; }
.footer-links a:hover { color:#fff; text-decoration-color:#fff; }
.copyright { margin-top:3rem; padding-top:1.25rem; color:#aebfc9; }

@media (max-width:960px) {
  .main-nav { gap:.8rem; }
  .main-nav a { font-size:.83rem; }
  .section-solutions .card-grid { grid-template-columns:repeat(2,1fr); }
  .benefits { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:780px) {
  .header-inner { min-height:68px; }
  .main-nav { top:68px; gap:.15rem; padding:1rem 20px 1.25rem; border-radius:0 0 var(--radius-medium) var(--radius-medium); box-shadow:0 18px 34px rgba(7,39,59,.13); }
  .main-nav > a:not(.button) { padding:.75rem .2rem; font-size:.95rem; }
  .main-nav > a:not(.button)::after { display:none; }
  .main-nav .button { margin-top:.5rem; }
  .hero-lighting { min-height:620px; padding:4.7rem 0 4rem; }
  .hero-lighting .hero-grid { min-height:500px; }
  .hero-lighting h1 { font-size:clamp(3.6rem,16vw,5.2rem); }
  .hero-lighting .hero-content { max-width:600px; }
  .hero-lighting::before { background:linear-gradient(180deg,rgba(3,23,39,.91) 0%,rgba(4,30,49,.68) 62%,rgba(4,28,46,.34) 100%); }
  .two-col { gap:1.6rem; }
  .section-intro .two-col > div:last-child { padding:.2rem 0 0; border-left:0; }
  .section-solutions .card-grid { grid-template-columns:repeat(2,1fr); }
  .catalog-cta::after { right:-90px; }
  .contact { grid-template-columns:1fr; }
}

@media (max-width:560px) {
  .section { padding:4.2rem 0; }
  .section .container > h2 { margin-bottom:1.7rem; }
  .hero-lighting { min-height:670px; }
  .hero-lighting .hero-grid { min-height:555px; }
  .hero-lighting h1 { font-size:clamp(3.35rem,17vw,4.6rem); }
  .hero-lighting .hero-lead { margin-top:1.25rem; }
  .section-solutions .card-grid,.benefits { grid-template-columns:1fr; }
  .card,.benefits div { min-height:0; }
  .catalog-cta { align-items:stretch; }
  .catalog-cta .button { width:100%; }
  .contact { padding:1.6rem; }
}
