/* G&B EDILIZIA S.R.L. — Stylesheet v2 */

:root {
  --navy:   #1a2744;
  --navy2:  #253a6e;
  --copper: #B87333;
  --copper2:#C4934A;
  --anthracite: #2c2c2c;
  --off-white: #f7f5f2;
  --white: #ffffff;
  --muted: #666;
  --border: #e0d8d0;
  --shadow: 0 8px 40px rgba(26,39,68,0.10);
  --ease: cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter','Segoe UI',Arial,sans-serif;color:var(--anthracite);background:var(--white);line-height:1.6;overflow-x:hidden}

/* ── NAVBAR ── */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;height:72px;
  background:rgba(26,39,68,0.0);
  backdrop-filter:blur(0px);
  transition:background .4s var(--ease),backdrop-filter .4s var(--ease),box-shadow .4s var(--ease);
}
.navbar.scrolled{
  background:rgba(26,39,68,0.97);
  backdrop-filter:blur(16px);
  box-shadow:0 2px 24px rgba(0,0,0,0.18);
}
.navbar-logo img{height:46px;transition:opacity .3s}
.navbar-logo img:hover{opacity:.85}

.navbar-links{display:flex;gap:2rem;list-style:none}
.navbar-links a{
  color:rgba(255,255,255,0.88);text-decoration:none;
  font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;
  transition:color .3s var(--ease);position:relative;padding-bottom:2px;
}
.navbar-links a::after{
  content:'';position:absolute;bottom:0;left:0;right:100%;
  height:1.5px;background:var(--copper);
  transition:right .35s var(--ease);
}
.navbar-links a:hover{color:var(--copper)}
.navbar-links a:hover::after{right:0}

.lang-switcher{display:flex;gap:.35rem}
.lang-btn{
  background:none;border:1px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.7);cursor:pointer;
  padding:.22rem .55rem;border-radius:3px;
  font-size:.72rem;letter-spacing:.05em;
  transition:all .25s var(--ease);
}
.lang-btn:hover,.lang-btn.active{background:var(--copper);border-color:var(--copper);color:#fff}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px}
.menu-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;transition:all .3s var(--ease)}

/* ── HERO ── */
#hero{
  min-height:100vh;
  position:relative;
  display:flex;align-items:center;
  padding:130px 5vw 80px;
  overflow:hidden;
}

.hero-img{
  position:absolute;inset:0;z-index:0;
  background:
    url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=1600&q=80&auto=format&fit=crop')
    center/cover no-repeat;
  transform:scale(1.08);
  transition:transform 8s ease-out;
  will-change:transform;
}
.hero-img.loaded{transform:scale(1)}

.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(
    105deg,
    rgba(26,39,68,.88) 0%,
    rgba(26,39,68,.72) 55%,
    rgba(26,39,68,.35) 100%
  );
}

.hero-content{position:relative;z-index:2;max-width:660px}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(184,115,51,.15);border:1px solid rgba(184,115,51,.4);
  color:var(--copper2);padding:.35rem .9rem;border-radius:2px;
  font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  margin-bottom:1.8rem;
  opacity:0;transform:translateY(16px);
  animation:fadeUp .7s .1s var(--ease) forwards;
}
.hero-eyebrow::before{content:'';width:6px;height:6px;background:var(--copper);border-radius:50%}

.hero-title{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.9rem,4.5vw,3.2rem);
  font-weight:700;color:#fff;line-height:1.15;
  margin-bottom:1.2rem;
  opacity:0;transform:translateY(20px);
  animation:fadeUp .8s .25s var(--ease) forwards;
}
.hero-title em{font-style:normal;color:var(--copper);display:inline}

.hero-subtitle{
  font-size:1rem;color:rgba(255,255,255,.72);
  margin-bottom:2.5rem;max-width:520px;line-height:1.7;
  opacity:0;transform:translateY(20px);
  animation:fadeUp .8s .4s var(--ease) forwards;
}

.hero-cta-row{
  display:flex;gap:1rem;flex-wrap:wrap;
  opacity:0;transform:translateY(20px);
  animation:fadeUp .8s .55s var(--ease) forwards;
}

.btn-primary{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 2rem;
  background:var(--copper);color:#fff;
  text-decoration:none;border-radius:2px;
  font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;
  transition:all .3s var(--ease);border:2px solid var(--copper);
  font-family:inherit;cursor:pointer;
}
.btn-primary:hover{background:transparent;color:var(--copper);transform:translateY(-3px);box-shadow:0 10px 28px rgba(184,115,51,.3)}

.btn-ghost{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 2rem;
  background:transparent;color:rgba(255,255,255,.85);
  text-decoration:none;border-radius:2px;
  font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;
  border:2px solid rgba(255,255,255,.3);
  transition:all .3s var(--ease);
}
.btn-ghost:hover{border-color:rgba(255,255,255,.8);color:#fff}

.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;
  opacity:0;animation:fadeUp .6s 1s var(--ease) forwards;
}
.hero-scroll span{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.scroll-dot{width:1px;height:36px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.scroll-dot::after{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
  background:var(--copper);
  animation:scrollLine 2s 1.2s ease-in-out infinite;
}

/* ── STATS BAR ── */
.stats-bar{
  background:var(--navy);
  padding:2rem 5vw;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1px;
  border-top:3px solid var(--copper);
}
.stat-item{
  padding:1.5rem 2rem;
  text-align:center;
  position:relative;
}
.stat-item:not(:last-child)::after{
  content:'';position:absolute;right:0;top:20%;bottom:20%;
  width:1px;background:rgba(255,255,255,.08);
}
.stat-num{
  display:block;font-size:2.2rem;font-weight:700;
  color:var(--copper);font-family:Georgia,serif;
  line-height:1;margin-bottom:.3rem;
}
.stat-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* ── SECTIONS COMMON ── */
section{padding:6rem 5vw}
.section-inner{max-width:1100px}

.eyebrow{
  display:block;font-size:.72rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--copper);margin-bottom:.7rem;
}
.section-title{
  font-family:Georgia,serif;
  font-size:clamp(1.6rem,3vw,2.4rem);
  color:var(--navy);line-height:1.2;margin-bottom:1.2rem;
}
.section-bar{width:44px;height:3px;background:var(--copper);margin-bottom:2.5rem}

/* ── ABOUT ── */
#about{background:var(--off-white)}

.about-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:5rem;align-items:center;
  max-width:1100px;
}

.about-image-wrap{
  position:relative;border-radius:4px;overflow:hidden;
  aspect-ratio:4/3;
}
.about-image-wrap img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s var(--ease);
  display:block;
}
.about-image-wrap:hover img{transform:scale(1.04)}
.about-image-badge{
  position:absolute;bottom:1.5rem;left:1.5rem;
  background:var(--navy);color:#fff;
  padding:.7rem 1.2rem;border-radius:2px;
  font-size:.8rem;font-weight:600;letter-spacing:.05em;
  border-left:3px solid var(--copper);
}

.about-text p{color:#444;line-height:1.85;margin-bottom:1.1rem}

.company-card{
  background:#fff;border:1px solid var(--border);
  border-radius:6px;padding:1.8rem;
  box-shadow:0 4px 20px rgba(26,39,68,.07);
  margin-top:1.5rem;
}
.company-card-title{
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--copper);margin-bottom:1.2rem;font-weight:600;
}
.cd{
  display:flex;flex-direction:column;gap:.2rem;
  padding:.7rem 0;border-bottom:1px solid var(--border);
}
.cd:last-child{border-bottom:none}
.cd .lbl{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cd .val{font-size:.88rem;color:var(--navy);font-weight:500}

/* ── SERVICES ── */
#services{background:#fff}

.services-header{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:3rem;flex-wrap:wrap;gap:1rem;
  max-width:1100px;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:1.5rem;
  max-width:1100px;
}

.service-card{
  background:var(--off-white);
  border:1px solid var(--border);
  border-radius:6px;padding:2rem;
  transition:all .35s var(--ease);
  position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;
  top:0;left:0;right:100%;height:3px;
  background:linear-gradient(90deg,var(--copper),var(--copper2));
  transition:right .45s var(--ease);
}
.service-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow);
  border-color:rgba(184,115,51,.3);
  background:#fff;
}
.service-card:hover::before{right:0}

.service-icon-wrap{
  width:52px;height:52px;
  background:var(--navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.2rem;font-size:1.3rem;
  transition:background .3s var(--ease);
}
.service-card:hover .service-icon-wrap{background:var(--copper)}
.service-title{font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:.5rem}
.service-desc{font-size:.88rem;color:#555;line-height:1.75}

/* ── PARALLAX IMAGE BAND ── */
.parallax-band{
  height:320px;
  background:url('https://images.unsplash.com/photo-1590247813693-5541d1c609fd?w=1600&q=80&auto=format&fit=crop')
    center/cover fixed;
  position:relative;overflow:hidden;display:flex;align-items:center;
}
.parallax-band .overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(26,39,68,.85) 0%,rgba(26,39,68,.6) 100%);
}
.parallax-band .band-content{
  position:relative;z-index:2;padding:0 5vw;max-width:700px;
}
.band-content blockquote{
  font-family:Georgia,serif;
  font-size:clamp(1.2rem,2.5vw,1.7rem);
  color:#fff;line-height:1.5;font-style:italic;
}
.band-content cite{
  display:block;margin-top:1rem;
  font-size:.8rem;letter-spacing:.1em;
  color:var(--copper2);font-style:normal;text-transform:uppercase;
}

/* ── CONTACT ── */
#contact{background:var(--off-white)}

.contact-layout{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:4rem;max-width:1100px;align-items:start;
}

.contact-info{display:flex;flex-direction:column;gap:1.8rem}

.contact-info-item{
  display:flex;gap:1rem;align-items:flex-start;
}
.ci-icon{
  width:44px;height:44px;background:var(--navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;color:#fff;
}
.ci-text .lbl{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--copper)}
.ci-text .val{color:var(--navy);font-size:.9rem;margin-top:.2rem;line-height:1.6}

.map-placeholder{
  border-radius:6px;overflow:hidden;margin-top:.5rem;
  background:var(--navy);position:relative;height:160px;
  display:flex;align-items:center;justify-content:center;
}
.map-placeholder img{width:100%;height:100%;object-fit:cover;opacity:.35}
.map-pin{
  position:absolute;text-align:center;color:#fff;
}
.map-pin .pin-icon{font-size:2rem}
.map-pin p{font-size:.8rem;opacity:.75;margin-top:.3rem}

/* ── FORM ── */
.contact-form{display:flex;flex-direction:column;gap:1.1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem}
.form-group label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.form-group input,.form-group textarea{
  padding:.78rem 1rem;
  border:1.5px solid var(--border);border-radius:3px;
  font-size:.9rem;background:#fff;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
  font-family:inherit;color:var(--anthracite);
}
.form-group input:focus,.form-group textarea:focus{
  outline:none;border-color:var(--copper);
  box-shadow:0 0 0 3px rgba(184,115,51,.1);
}
.form-group textarea{resize:vertical;min-height:130px}
.btn-submit{
  padding:.85rem 2rem;
  background:var(--navy);color:#fff;
  border:none;border-radius:3px;
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;transition:all .3s var(--ease);
  align-self:flex-start;font-family:inherit;
}
.btn-submit:hover{background:var(--copper);transform:translateY(-2px);box-shadow:0 8px 24px rgba(184,115,51,.3)}
.form-success{
  display:none;padding:1rem;background:#eaf5ea;
  border:1px solid #6abf69;border-radius:3px;
  color:#2e7d32;font-size:.85rem;
}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,.6);padding:3rem 5vw}
.footer-top{
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:2rem;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:2rem;margin-bottom:2rem;
  max-width:1100px;
}
.footer-brand img{height:44px;opacity:.9}
.footer-brand p{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.5rem}

.footer-nav{display:flex;flex-direction:column;gap:.7rem;text-align:center}
.footer-nav a{color:rgba(255,255,255,.55);text-decoration:none;font-size:.82rem;transition:color .3s var(--ease)}
.footer-nav a:hover{color:var(--copper)}

.footer-details{text-align:right;font-size:.8rem;line-height:1.9;color:rgba(255,255,255,.45)}
.footer-details strong{color:rgba(255,255,255,.75);font-weight:500}

.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:.75rem;
  font-size:.75rem;
  max-width:1100px;
}
.footer-powered{color:rgba(255,255,255,.25)}
.footer-powered a{color:rgba(255,255,255,.4);text-decoration:none}

/* ── COOKIE BANNER ── */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:999;
  background:var(--navy);
  border-top:2px solid var(--copper);
  padding:1.2rem 5vw;
  display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;
  transform:translateY(100%);
  transition:transform .45s var(--ease);
  box-shadow:0 -4px 24px rgba(0,0,0,.2);
}
.cookie-banner.visible{transform:translateY(0)}
.cookie-banner p{color:rgba(255,255,255,.8);font-size:.83rem;flex:1;min-width:200px;line-height:1.6}
.cookie-banner a{color:var(--copper)}
.cookie-actions{display:flex;gap:.7rem;flex-shrink:0}
.btn-cookie-accept{
  padding:.55rem 1.4rem;background:var(--copper);color:#fff;
  border:none;border-radius:2px;font-size:.78rem;
  letter-spacing:.05em;cursor:pointer;font-family:inherit;
  transition:opacity .25s;
}
.btn-cookie-accept:hover{opacity:.85}
.btn-cookie-reject{
  padding:.55rem 1.2rem;background:transparent;color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.2);border-radius:2px;font-size:.78rem;
  cursor:pointer;font-family:inherit;transition:all .25s;
}
.btn-cookie-reject:hover{border-color:rgba(255,255,255,.5);color:rgba(255,255,255,.8)}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-30px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(30px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal-right.visible{opacity:1;transform:none}

/* ── KEYFRAMES ── */
@keyframes fadeUp{
  to{opacity:1;transform:none}
}
@keyframes scrollLine{
  0%{top:-100%}100%{top:200%}
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(184,115,51,.4)}
  50%{box-shadow:0 0 0 8px rgba(184,115,51,0)}
}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .about-layout,.contact-layout{grid-template-columns:1fr;gap:2.5rem}
  .parallax-band{background-attachment:scroll}
  .footer-top{grid-template-columns:1fr;text-align:center}
  .footer-details{text-align:center}
}
@media(max-width:640px){
  .navbar-links{display:none}
  .navbar-links.open{
    display:flex;flex-direction:column;
    position:absolute;top:72px;left:0;right:0;
    background:var(--navy);padding:1.5rem 5vw;gap:1.2rem;
  }
  .menu-toggle{display:block}
  .form-row{grid-template-columns:1fr}
  .stats-bar{grid-template-columns:1fr 1fr}
  .stat-item:nth-child(2)::after,.stat-item:nth-child(4)::after{display:none}
  .hero-cta-row{flex-direction:column;align-items:flex-start}
}
