/* Tema coordinato ispirato all'identità visiva AirLinks: blu profondo, azzurro, bianco e accento arancio. */
:root{
 --bg:#f3f7fb !important;
 --panel:#ffffff !important;
 --panel2:#eaf4fb !important;
 --accent:#00a3e0 !important;
 --white:#ffffff !important;
 --muted:#536577 !important;
 --line:#b9d9ec !important;
 --airlinks-navy:#062b4f;
 --airlinks-blue:#087fbd;
 --airlinks-cyan:#00a3e0;
 --airlinks-orange:#f28c28;
 --airlinks-ink:#163047;
}
html{scroll-behavior:smooth}
body{background:#eef4f8 !important;color:var(--airlinks-ink) !important;font-family:Arial,Helvetica,sans-serif;line-height:1.55}
.page{background:#fff !important;box-shadow:0 12px 42px rgba(6,43,79,.12) !important}
.brandbar{background:var(--airlinks-navy) !important;border-bottom:4px solid var(--airlinks-cyan) !important}
.hero{background:var(--airlinks-navy) !important;border-bottom:4px solid var(--airlinks-cyan) !important}
.brand-motto{background:var(--airlinks-navy) !important;color:#fff !important;border-bottom:3px solid var(--airlinks-cyan) !important}
.services{background:#f3f7fb;padding:18px !important;gap:14px !important}
.card,.wide{background:#fff !important;color:var(--airlinks-ink) !important;border:1px solid #d5e5ef !important;border-top:4px solid var(--airlinks-blue) !important;border-radius:12px !important;box-shadow:0 5px 18px rgba(6,43,79,.07);text-decoration:none}
.card:hover,.wide:hover,.card:focus-visible,.wide:focus-visible{transform:translateY(-4px);box-shadow:0 12px 28px rgba(6,43,79,.15) !important;outline:2px solid var(--airlinks-cyan) !important}
.card h2,.wide h2{background:#fff !important;color:var(--airlinks-navy) !important}
.visual{background:linear-gradient(135deg,#087fbd,#062b4f) !important;border-block:1px solid #d1e6f2 !important;color:#fff !important}
.visual svg{stroke:#fff !important}
.body{background:#fff !important;color:var(--airlinks-ink) !important}
.body p,.body li{color:#34495b !important}
.body li:before{color:var(--airlinks-blue) !important}
.strap{background:#e7f5fc !important;color:var(--airlinks-navy) !important;border-top:1px solid #c5e5f5 !important;border-bottom:2px solid var(--airlinks-cyan)}
.wide .visual{background:#e7f5fc !important}
.wide .visual img{filter:none !important}
.contactbar{background:#fff;border-top:1px solid #d5e5ef !important}
.contact-icon{background:var(--airlinks-navy) !important;color:#fff !important;border:1px solid var(--airlinks-cyan) !important}
.contact-icon:hover,.contact-icon:focus-visible{background:var(--airlinks-blue) !important;color:#fff !important}
.cta,.submit{background:var(--airlinks-orange) !important;color:#172b3a !important;border:1px solid #e47c16 !important;border-radius:7px !important;font-weight:800;box-shadow:0 4px 10px rgba(242,140,40,.2)}
.cta:hover,.submit:hover{background:#ffad4d !important;color:#10283d !important}
.cta:focus-visible,.submit:focus-visible,.close:focus-visible,.install-row button:focus-visible{outline:3px solid var(--airlinks-cyan);outline-offset:3px}
.fine{background:var(--airlinks-navy) !important;color:#eaf5fb !important;border-top:3px solid var(--airlinks-cyan) !important}
.fine a{color:#fff !important}
dialog{background:#fff !important;color:var(--airlinks-ink) !important;border:1px solid var(--airlinks-cyan) !important;box-shadow:0 20px 70px rgba(6,43,79,.28) !important}
.modal-head{background:var(--airlinks-navy);border-bottom:3px solid var(--airlinks-cyan) !important}
.modal-head h2{color:#fff !important}
.close{color:#fff !important}
.form{background:#fff}
.field label{color:var(--airlinks-ink)}
.field input,.field select,.field textarea{border:1px solid #b7d0df !important;border-radius:7px !important;background:#fff !important;color:#163047 !important}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--airlinks-cyan);outline-offset:1px;border-color:var(--airlinks-blue) !important}
.privacy,.note{color:#536577 !important}
.note a{color:var(--airlinks-blue) !important}
.install-row button{color:var(--airlinks-navy) !important;border:1px solid var(--airlinks-blue) !important;border-radius:7px !important}
@media(max-width:600px){.services{padding:12px !important}.brand-motto{background:var(--airlinks-navy) !important}.cta{width:100%;margin:8px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.wide,.contact-icon,.cta{transition:none !important}}

/* Pagine interne dei servizi */
body:has(> main:not(.page)){min-height:100vh;background:linear-gradient(135deg,#eef4f8,#dcecf6) !important;color:var(--airlinks-ink) !important}
body:has(> main:not(.page)) main{max-width:900px !important;margin:0 auto !important;padding:clamp(24px,5vw,56px) 22px !important}
body:has(> main:not(.page)) main>a{display:inline-block;color:var(--airlinks-blue) !important;font-weight:700;text-decoration:none;margin-bottom:24px}
body:has(> main:not(.page)) main>a:hover{text-decoration:underline}
body:has(> main:not(.page)) .box{background:#fff !important;color:var(--airlinks-ink) !important;border:1px solid #c8e0ee !important;border-top:5px solid var(--airlinks-cyan) !important;border-radius:14px !important;padding:clamp(24px,4vw,40px) !important;box-shadow:0 12px 34px rgba(6,43,79,.1)}
body:has(> main:not(.page)) h1{color:var(--airlinks-navy) !important}

/* =========================================================
   LUCKY AGENCY — DIREZIONE ARTISTICA PREMIUM
   Antracite, avorio e champagne; immagine fissa e attenuata
   durante lo scorrimento, con superfici semitrasparenti.
   ========================================================= */
:root{
  --bg:#111315 !important;
  --panel:#1b1e20 !important;
  --panel2:#24282a !important;
  --accent:#d7bd86 !important;
  --white:#f7f4ed !important;
  --muted:#c4c1ba !important;
  --line:rgba(215,189,134,.36) !important;
  --airlinks-navy:#17191b !important;
  --airlinks-blue:#34383a !important;
  --airlinks-cyan:#d7bd86 !important;
  --airlinks-orange:#d7bd86 !important;
  --airlinks-ink:#f2efe8 !important;
}
html{scroll-padding-top:88px}
body{
  background-color:#111315 !important;
  background-image:linear-gradient(180deg,rgba(12,14,15,.82),rgba(12,14,15,.91)),url('hero-rilevare.jpeg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-attachment:fixed !important;
  color:#f2efe8 !important;
  font-family:Inter,"Segoe UI",Arial,Helvetica,sans-serif !important;
  line-height:1.65 !important;
}
.page{
  max-width:1320px !important;
  background:rgba(18,20,21,.48) !important;
  box-shadow:0 0 80px rgba(0,0,0,.42) !important;
  border-inline:1px solid rgba(215,189,134,.12) !important;
}
.brandbar{background:rgba(16,18,19,.92) !important;border-bottom:1px solid rgba(215,189,134,.45) !important}
.hero{background:#111315 !important;border-bottom:1px solid rgba(215,189,134,.55) !important}
.brand-motto{background:rgba(25,27,28,.94) !important;color:#e8d6ad !important;border-bottom:1px solid rgba(215,189,134,.5) !important;letter-spacing:.19em !important}
.site-nav{
  background:rgba(20,22,23,.91) !important;
  border-bottom:1px solid rgba(215,189,134,.44) !important;
  box-shadow:0 8px 26px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}
.site-nav a{color:#f2eee5 !important;border-radius:3px !important;letter-spacing:.025em !important}
.site-nav a:hover,.site-nav a:focus-visible{background:rgba(215,189,134,.12) !important;border-color:rgba(215,189,134,.45) !important;color:#ead8b0 !important}
.site-nav .nav-cta{background:#d7bd86 !important;color:#1a1b1b !important;border-color:#d7bd86 !important}
.site-nav .nav-cta:hover{background:#ead8b0 !important;color:#151616 !important}
.services{background:transparent !important;padding:clamp(20px,3vw,38px) !important;gap:18px !important}
.card,.wide{
  background:rgba(28,30,31,.78) !important;
  color:#f2efe8 !important;
  border:1px solid rgba(215,189,134,.25) !important;
  border-top:2px solid rgba(215,189,134,.85) !important;
  border-radius:5px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}
.card:hover,.wide:hover,.card:focus-visible,.wide:focus-visible{transform:translateY(-5px) !important;box-shadow:0 20px 44px rgba(0,0,0,.38) !important;outline:1px solid #d7bd86 !important}
.card h2,.wide h2{background:transparent !important;color:#ead8b0 !important;font-size:clamp(16px,1.35vw,20px) !important;letter-spacing:.045em !important;line-height:1.25 !important}
.visual{background:linear-gradient(135deg,rgba(215,189,134,.13),rgba(20,22,23,.45)) !important;border-block:1px solid rgba(215,189,134,.2) !important;color:#e4d0a5 !important}
.visual svg{stroke:#e4d0a5 !important}
.body{background:transparent !important;color:#f2efe8 !important}
.body p,.body li{color:#d1cec7 !important}
.body li:before{color:#d7bd86 !important}
.strap{background:rgba(215,189,134,.96) !important;color:#1c1d1d !important;border:0 !important;letter-spacing:.06em !important}
.wide .visual{background:rgba(18,20,21,.55) !important}
.wide .visual img{filter:saturate(.72) contrast(1.04) !important;transition:filter .25s ease,transform .35s ease}
.wide:hover .visual img{filter:saturate(.95) contrast(1.05) !important;transform:scale(1.035)}
.service-detail{
  scroll-margin-top:82px !important;
  border-top:1px solid rgba(215,189,134,.25) !important;
  background:rgba(23,25,26,.79) !important;
  padding:clamp(42px,6vw,82px) clamp(22px,5vw,72px) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.service-detail:nth-of-type(even){background:rgba(34,36,36,.75) !important}
.detail-kicker{color:#d7bd86 !important;text-transform:uppercase !important;letter-spacing:.17em !important;font-size:.76rem !important;font-weight:800 !important}
.service-detail h2{color:#f4efe5 !important;letter-spacing:.015em !important;font-weight:650 !important}
.detail-lead{color:#d5cbb8 !important;font-size:clamp(17px,2vw,21px) !important;max-width:850px !important}
.detail-panel{background:rgba(12,14,15,.38) !important;border:1px solid rgba(215,189,134,.25) !important;border-radius:4px !important;box-shadow:none !important}
.detail-panel h3{color:#e3cca0 !important}
.detail-note,.detail-list li{color:#d7d4cd !important}
.detail-list li::marker{color:#d7bd86 !important}
.detail-actions a,.jump-contact{border-radius:3px !important}
.detail-actions .jump-contact{background:#d7bd86 !important;color:#191a1a !important;border-color:#d7bd86 !important;font-weight:800 !important}
.detail-actions .secondary{color:#ead8b0 !important;border-color:rgba(215,189,134,.45) !important;background:transparent !important}
.contactbar{background:rgba(17,19,20,.82) !important;border-top:1px solid rgba(215,189,134,.35) !important;gap:16px !important}
.contact-icon{background:rgba(215,189,134,.08) !important;color:#e7d4aa !important;border:1px solid rgba(215,189,134,.55) !important;border-radius:4px !important}
.contact-icon:hover,.contact-icon:focus-visible{background:#d7bd86 !important;color:#171819 !important}
.cta,.submit{background:#d7bd86 !important;color:#171819 !important;border:1px solid #d7bd86 !important;border-radius:3px !important;letter-spacing:.035em !important;box-shadow:none !important}
.cta:hover,.submit:hover{background:#ead8b0 !important;color:#111 !important}
.fine{background:rgba(12,14,15,.96) !important;color:#c9c6bf !important;border-top:1px solid rgba(215,189,134,.42) !important}
.fine a{color:#e4d0a5 !important}
dialog{background:#1d2021 !important;color:#f2efe8 !important;border:1px solid rgba(215,189,134,.6) !important;box-shadow:0 25px 90px rgba(0,0,0,.65) !important}
.modal-head{background:#151718 !important;border-bottom:1px solid rgba(215,189,134,.55) !important}
.modal-head h2{color:#f2e6ce !important}
.close{color:#e5d1a5 !important}
.form{background:#1d2021 !important}
.field label{color:#e7e1d5 !important}
.field input,.field select,.field textarea{border:1px solid #56534b !important;border-radius:3px !important;background:#111314 !important;color:#f2efe8 !important}
.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid #d7bd86 !important;border-color:#d7bd86 !important}
.privacy,.note{color:#c7c4bc !important}
.note a{color:#e5d1a5 !important}
.install-row button{color:#e5d1a5 !important;border:1px solid rgba(215,189,134,.55) !important;border-radius:3px !important;background:rgba(20,22,23,.8) !important}
/* Schede di servizio autonome: stessa identità grafica. */
body:has(> main:not(.page)){
  background-color:#111315 !important;
  background-image:linear-gradient(rgba(12,14,15,.84),rgba(12,14,15,.91)),url('../hero-rilevare.jpeg') !important;
  background-position:center center !important;background-size:cover !important;background-attachment:fixed !important;
  color:#f2efe8 !important;
}
body:has(> main:not(.page)) main{max-width:980px !important}
body:has(> main:not(.page)) main>a{color:#e4d0a5 !important}
body:has(> main:not(.page)) .box{background:rgba(28,30,31,.86) !important;color:#f2efe8 !important;border:1px solid rgba(215,189,134,.35) !important;border-top:3px solid #d7bd86 !important;border-radius:4px !important;box-shadow:0 18px 48px rgba(0,0,0,.35) !important;backdrop-filter:blur(12px) !important}
body:has(> main:not(.page)) h1{color:#f2e6ce !important}
@media(max-width:760px){
 body{background-attachment:scroll !important;background-position:center top !important}
 .page{border:0 !important;background:rgba(18,20,21,.58) !important}
 .services{padding:14px !important;gap:13px !important}
 .service-detail{padding:38px 18px !important;scroll-margin-top:70px !important}
 .brand-motto{letter-spacing:.08em !important;gap:10px !important}
 .cta{width:100%;margin:8px 0 0}
}
@media(prefers-reduced-motion:reduce){.wide .visual img{transition:none !important}}

/* Foto delle tre caselle: nasconde la fascia di testo incorporata (31 px su 108).
   I titoli HTML originali restano visibili sopra le immagini. */
.wide .card-photo-only{position:relative;display:block;overflow:hidden}
.wide .card-photo-only img{position:absolute;left:0;top:-40.26%;width:100%;height:140.26%;object-fit:fill;transform:none!important}

/* Firma discreta, sulla stessa riga dei collegamenti del footer. */
.fine{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 20px;text-align:left}
.fine .site-credit{white-space:nowrap;text-decoration:none;color:#c9c6bf!important;font-size:11px;justify-self:start}
.fine .site-credit:hover{color:#e4d0a5!important;text-decoration:underline}
.fine .site-credit:focus-visible{outline:2px solid #d7bd86;outline-offset:4px}
.fine>span:last-child{white-space:nowrap;justify-self:end}
@media(max-width:1000px){.fine{grid-template-columns:auto 1fr;gap:12px 8px}.fine>span:first-of-type{grid-column:1/-1;grid-row:1;text-align:left}.fine .site-credit{grid-row:2}.fine>span:last-child{grid-row:2;font-size:11px}}

/* Rifinitura delle schede e percorso di contatto. */
.lower{gap:18px!important;padding:0 clamp(20px,3vw,38px) 38px!important;align-items:stretch}
.card,.wide{min-width:0}
.wide h2{min-height:84px;display:flex;align-items:center;justify-content:center;padding:18px 16px!important}
.card .body,.wide .body{line-height:1.65}
.wide .body{padding:20px!important}
.wide .body p{margin:0;font-size:16px}
.wide .strap{min-height:58px;display:flex;align-items:center;justify-content:center;padding:12px!important}
/* Ritaglio proporzionale: nessuna deformazione della fotografia originale. */
.wide .card-photo-only{height:auto!important;aspect-ratio:4.3;position:relative;background:#111315!important}
.wide .card-photo-only img{top:0;width:100%;height:auto;object-fit:contain;transform:translateY(-28.704%)!important}
.work-process{padding:clamp(34px,5vw,64px) clamp(20px,5vw,66px);background:rgba(23,25,26,.86);border-block:1px solid rgba(215,189,134,.3)}
.process-kicker{margin:0 0 12px;color:#d7bd86;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.work-process h2{margin:0 0 16px;color:#f2e6ce;font-size:clamp(28px,3.3vw,40px);line-height:1.2;font-weight:650}
.process-intro{max-width:660px;margin:0 0 30px;color:#d1cec7;font-size:17px;line-height:1.65}
.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:0 0 30px}
.process-steps li{border-top:1px solid rgba(215,189,134,.4);padding-top:20px}
.step-number{display:block;margin-bottom:12px;color:#d7bd86;font-size:25px;font-weight:600;letter-spacing:.08em}
.process-steps h3{margin:0 0 10px;color:#f2e6ce;font-size:18px;line-height:1.4}
.process-steps p{margin:0;color:#c4c1ba;font-size:15px;line-height:1.7}
.process-contact{display:inline-flex;align-items:center;gap:16px;min-height:44px;color:#e4d0a5;text-decoration:none;border-bottom:1px solid rgba(215,189,134,.5);font-size:15px;font-weight:600}
.process-contact:hover{color:#fff}.process-contact:focus-visible{outline:2px solid #d7bd86;outline-offset:5px}
.mobile-contact{display:none}
@media(min-width:901px){.card h2{height:88px!important;padding:16px 10px!important}.card .body{padding:18px 14px!important}.card .body p{font-size:15px}.card .body ul{font-size:14px}}
@media(min-width:601px) and (max-width:900px){.wide h2{font-size:16px!important}}
@media(max-width:760px){
 .lower{padding:0 14px 28px!important;gap:18px!important}
 .wide h2{min-height:0;padding:20px 16px!important;font-size:19px!important}
 .card h2{padding:20px 16px!important;line-height:1.35!important}
 .card .body{padding:20px!important}.card .body p,.card .body ul{font-size:16px;line-height:1.65}
 .process-steps{grid-template-columns:1fr;gap:22px}.process-steps li{position:relative;padding-left:48px}.step-number{position:absolute;left:0;top:19px;font-size:20px}
 .work-process{padding:36px 22px}.process-intro{font-size:16px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1100;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(215,189,134,.4);background:#17191b;box-shadow:0 -5px 20px rgba(0,0,0,.2)}
 .mobile-contact a{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid rgba(215,189,134,.6);border-radius:4px;color:#e4d0a5;text-decoration:none;font-size:14px;font-weight:700}
 .mobile-contact a:last-child{background:#d7bd86;color:#171819}
 .mobile-contact a:focus-visible{outline:2px solid #fff;outline-offset:2px}
 body:has(dialog[open]) .mobile-contact{display:none}
}

/* Foto illustrative al posto delle cinque icone: mantiene l'altezza esistente. */
.card .service-photo{position:relative;overflow:hidden}
.card .service-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
