/* WDD S.r.l. – sito statico */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --gold:#D0A614;
  --gold-light:#EACD77;
  --gold-soft:#F9F0D6;
  --navy:#0E314D;
  --grey:#EDEDED;
  --ink:#111111;
  --muted:#555;
  --max:1240px;
  --pad:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Montserrat",system-ui,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;line-height:1.1;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
strong,b{font-weight:700}
.gold{color:var(--gold)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.05)}
.site-header .wrap{display:flex;align-items:center;gap:24px;height:88px}
.logo img{width:150px;height:auto}
.nav{display:flex;gap:32px;margin-left:auto;margin-right:auto}
.nav a{text-decoration:none;font-size:14px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--gold)}
.lang{display:flex;align-items:center;gap:6px;font-size:14px}
.lang svg{width:18px;height:18px}
.lang select{font:inherit;border:0;background:transparent;cursor:pointer;padding:4px}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:12px 20px;border-radius:6px;transition:background .2s}
.btn:hover{background:#174a72}
.btn-gold{background:var(--gold);color:#000}
.btn-gold:hover{background:var(--gold-light)}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:28px;height:2px;background:#000;margin:6px 0;transition:.2s}

/* Hero home */
.hero{position:relative;min-height:calc(100vh - 88px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.35))}
.hero .inner{position:relative;z-index:1;padding:0 var(--pad)}
.hero .kicker{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.hero h1{font-size:clamp(32px,6.5vw,80px);overflow-wrap:break-word;text-shadow:0 2px 20px rgba(0,0,0,.25)}

/* Sections */
section{padding:clamp(64px,9vw,120px) 0}
.pill{display:inline-block;border:1px solid #000;border-radius:999px;padding:4px 18px;font-size:13px;font-weight:500;margin-bottom:22px}
.on-dark .pill{border-color:#fff}
.h2{font-size:clamp(36px,5vw,64px);margin-bottom:28px}
.lead{font-size:16px;max-width:620px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.split.rev .media{order:-1}
.media img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.link-more{display:inline-block;font-weight:700;font-size:14px;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px;margin-top:8px}
.link-more:hover{color:var(--gold)}
.stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px}
.stat{background:var(--gold-light);padding:22px 26px;border-radius:6px;min-width:170px}
.stat .n{font-size:clamp(28px,4vw,48px);font-weight:700;line-height:1;white-space:nowrap}
.stat .l{font-size:13px;margin-top:8px}
.stats.plain .stat{background:none;padding:0 24px 0 0}

/* Mission (home) */
.mission-media{position:relative;min-height:520px}
.mission-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:4px}

/* Map */
.map-box img{width:100%;height:auto}

/* Gallery strip */
.gallery{position:relative;padding:0 0 clamp(64px,9vw,120px)}
.strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--pad)}
.strip::-webkit-scrollbar{display:none}
.strip img{flex:0 0 auto;height:clamp(220px,28vw,360px);width:auto;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:start;border-radius:4px}
.strip-nav{display:flex;gap:10px;justify-content:flex-end;max-width:var(--max);margin:16px auto 0;padding:0 var(--pad)}
.strip-nav button{width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);cursor:pointer;display:grid;place-items:center}
.strip-nav button img{width:32px;height:32px}

/* Navy hero (portfolio) */
.navy{background:var(--navy);color:#fff}
.page-hero{text-align:center;padding-bottom:40px}
.page-hero h1{font-size:clamp(40px,6vw,72px);margin-bottom:18px}
.page-hero p{max-width:640px;margin:0 auto}
.world{position:relative;max-width:1000px;margin:40px auto 0}
.world img{width:100%;filter:invert(1);opacity:.14}
.world .dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(208,166,20,.25)}
.page-hero .link-more{color:#fff;margin-top:24px}

/* Kit layers */
.kit-stack{position:relative;aspect-ratio:1920/1585}
.kit-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.kit-stack.in img{opacity:1;transform:none}
.kit-stack.in img:nth-child(2){transition-delay:.15s}.kit-stack.in img:nth-child(3){transition-delay:.3s}.kit-stack.in img:nth-child(4){transition-delay:.45s}.kit-stack.in img:nth-child(5){transition-delay:.6s}
.bg-grey{background:var(--grey)}

/* Kit section */
.kit-imgs{display:grid;grid-template-columns:1fr 3fr;gap:24px;align-items:center}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.benefit{background:#fff;border-radius:6px;padding:26px 22px;font-weight:700;font-size:18px;line-height:1.25;border-top:4px solid var(--gold)}
.eff-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eff-imgs img{background:#e2e2e2;border-radius:4px}

/* Project cards */
.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;margin-top:40px}
.card{text-decoration:none;display:block}
.card .ph{aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--navy)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.05)}
.card h3{font-size:20px;margin-top:14px}
.card .meta{font-size:14px;color:var(--muted)}

/* Project detail */
.back{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:600;font-size:14px;margin-bottom:28px}
.back:hover{color:var(--gold)}
.detail-hero{aspect-ratio:16/7;overflow:hidden;border-radius:4px;background:var(--navy)}
.detail-hero img{width:100%;height:100%;object-fit:cover}
.detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:36px 0 28px}
.detail-head h1{font-size:clamp(34px,5vw,56px)}
.detail-head .meta{font-size:18px;font-weight:500}
.detail-head .meta span{color:var(--gold);font-weight:700;margin-left:12px}
.prose{max-width:780px}
.prose ul{padding-left:20px;margin:0 0 1em}
.prose li{margin-bottom:6px}

/* Team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.member .ph{aspect-ratio:1;overflow:hidden;border-radius:4px}
.member .ph img{width:100%;height:100%;object-fit:cover}
.member h3{font-size:20px;margin-top:14px}
.member p{color:var(--muted);font-size:14px}

/* Contact cards */
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.contact-card{background:var(--gold-soft);border-radius:6px;padding:20px 22px;text-decoration:none;display:block}
.contact-card .k{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.contact-card .v{font-weight:700;font-size:16px;word-break:break-word}
a.contact-card:hover{background:var(--gold-light)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}

/* Footer */
.site-footer{background:var(--gold-soft);padding-top:64px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr auto;gap:40px;align-items:start;padding-bottom:56px}
.foot-grid .logo img{width:140px;margin-bottom:24px}
.foot-info{font-size:14px;line-height:1.8}
.foot-info b{font-weight:700}
.socials{list-style:none;padding:0;margin:20px 0 0;font-weight:700;font-size:15px;line-height:1.9}
.socials a{text-decoration:none}
.socials a:hover{color:var(--gold)}
.totop{writing-mode:vertical-rl;text-decoration:none;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px}
.totop::after{content:"";width:1px;height:60px;background:#000}
.foot-bar{background:var(--gold);font-size:13px;padding:12px 0}
.foot-bar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-bar a{text-decoration:none;font-weight:600}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal,.kit-stack img{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:980px){
  .nav,.site-header .lang,.site-header .btn{display:none}
  .menu-toggle{display:block}
  .site-header.open .nav{display:flex;flex-direction:column;position:absolute;top:88px;left:0;right:0;background:#fff;padding:20px var(--pad);gap:14px;border-bottom:1px solid #eee}
  .site-header.open .mobile-extra{display:flex}
  .split,.foot-grid{grid-template-columns:1fr}
  .split.rev .media{order:0}
  .mission-media{min-height:340px}
  .benefits{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:1fr 1fr}
  .totop{writing-mode:horizontal-tb}
  .totop::after{width:40px;height:1px}
}
.mobile-extra{display:none;gap:14px;align-items:center;flex-wrap:wrap;padding-top:10px;border-top:1px solid #eee}
@media (max-width:560px){
  .site-header .wrap{height:72px}
  .site-header.open .nav{top:72px}
  .logo img{width:120px}
  .hero{min-height:calc(100svh - 72px)}
  .benefits,.team,.contacts,.eff-imgs{grid-template-columns:1fr}
  .kit-imgs{grid-template-columns:1fr 2fr}
  .stat{min-width:0;flex:1}
  .detail-hero{aspect-ratio:4/3}
}
