/* UNDERCRANES — Shared stylesheet
   Industrial Lifting Systems · Barcelona, ES
*/

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:#0c0c0c;color:#fff;overflow-x:hidden;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.container{width:90%;max-width:1400px;margin:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* NAV */
nav{position:fixed;width:100%;top:0;z-index:1000;backdrop-filter:blur(12px);background:rgba(0,0,0,.55);border-bottom:1px solid rgba(255,255,255,.05)}
.nav-content{display:flex;justify-content:space-between;align-items:center;padding:20px 0}
.logo{font-size:26px;font-weight:900;letter-spacing:3px}
.logo span{color:#f5c518}
.menu{display:flex;gap:32px;color:#cfcfcf;font-size:13px;text-transform:uppercase;letter-spacing:1px}
.menu a{transition:color .2s}
.menu a:hover{color:#f5c518}
.cta{padding:13px 22px;background:#f5c518;color:#000;font-weight:700;border-radius:4px;transition:transform .2s;font-size:13px;text-transform:uppercase;letter-spacing:1px}
.cta:hover{transform:translateY(-2px)}

/* HERO */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding-top:80px;background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.82)),url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?q=80&w=2070&auto=format&fit=crop') center/cover}
.hero.page-hero{min-height:60vh;padding:160px 0 90px}
.hero-content{max-width:900px;padding:60px 0}
.tag{color:#f5c518;font-weight:700;letter-spacing:2px;margin-bottom:24px;text-transform:uppercase;font-size:13px}
h1{font-size:74px;line-height:.97;margin-bottom:28px;font-weight:900;letter-spacing:-2.5px}
.hero p.lead{font-size:21px;color:#c9c9c9;line-height:1.6;max-width:760px;margin-bottom:36px}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.btn-primary{background:#f5c518;color:#000;padding:17px 30px;font-weight:800;border-radius:4px;font-size:14px;text-transform:uppercase;letter-spacing:1px;transition:transform .2s;display:inline-block;border:none;cursor:pointer}
.btn-primary:hover{transform:translateY(-2px)}
.btn-secondary{border:1px solid rgba(255,255,255,.25);padding:17px 30px;border-radius:4px;color:#fff;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:1px;transition:border-color .2s;display:inline-block}
.btn-secondary:hover{border-color:#f5c518}

/* STATS */
.stats{padding:70px 0;background:#121212;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center}
.stat h2{font-size:48px;color:#f5c518;margin-bottom:8px;font-weight:900}
.stat p{color:#999;text-transform:uppercase;letter-spacing:1px;font-size:12px}

/* SECTIONS */
.section{padding:120px 0}
.section.narrow{padding:90px 0}
.section-title{font-size:52px;font-weight:900;margin-bottom:20px;letter-spacing:-1.5px;line-height:1.05}
.section-sub{color:#9f9f9f;font-size:19px;max-width:760px;line-height:1.7;margin-bottom:70px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards.cards-2{grid-template-columns:repeat(2,1fr)}
.card{background:#161616;padding:36px;border:1px solid rgba(255,255,255,.05);transition:.3s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);border-color:#f5c518}
.card h3{font-size:24px;margin-bottom:16px;letter-spacing:-.5px}
.card p{color:#a5a5a5;line-height:1.7;margin-bottom:20px;flex:1}
.card a.card-link{color:#f5c518;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px}
.card a.card-link:after{content:" →"}

/* CONTENT BLOCKS (prose) */
.prose{max-width:820px;margin:0 auto;color:#cfcfcf;line-height:1.8;font-size:17px}
.prose h2{color:#fff;font-size:36px;margin:60px 0 20px;letter-spacing:-1px;line-height:1.1}
.prose h3{color:#fff;font-size:24px;margin:40px 0 14px;letter-spacing:-.3px}
.prose p{margin-bottom:18px}
.prose ul,.prose ol{margin:18px 0 18px 26px}
.prose li{margin-bottom:10px}
.prose strong{color:#fff}
.prose a{color:#f5c518;border-bottom:1px solid rgba(245,197,24,.3)}
.prose a:hover{border-bottom-color:#f5c518}
.prose blockquote{border-left:3px solid #f5c518;padding:8px 0 8px 22px;color:#b5b5b5;font-style:italic;margin:24px 0}
.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}
.prose th,.prose td{padding:14px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
.prose th{color:#f5c518;text-transform:uppercase;letter-spacing:1px;font-size:12px}

/* TECH SPECS TABLE */
.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:40px 0}
.spec-item{background:#141414;padding:24px;border-left:3px solid #f5c518}
.spec-item h4{color:#f5c518;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}
.spec-item p{color:#fff;font-size:18px;font-weight:600}

/* IMAGE SECTION */
.image-section{min-height:560px;padding:120px 0;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.78)),url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop') center/cover;display:flex;align-items:center}
.image-section h2{font-size:60px;max-width:950px;line-height:1.05;font-weight:900;letter-spacing:-1.5px}

/* INDUSTRIES */
.industries{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.industry{background:#141414;padding:30px;border:1px solid rgba(255,255,255,.05);min-height:200px}
.industry h4{font-size:22px;margin-bottom:14px;color:#f5c518}
.industry p{color:#a5a5a5;line-height:1.6;font-size:15px}

/* FAQ */
.faq-section{background:#0a0a0a;padding:120px 0}
.faq-list{max-width:920px;margin:0 auto}
.faq-item{border-bottom:1px solid rgba(255,255,255,.08);padding:24px 0}
.faq-item summary{cursor:pointer;font-size:20px;font-weight:700;padding:8px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:#f5c518;font-size:32px;font-weight:300;transition:transform .25s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{color:#b5b5b5;line-height:1.75;padding:14px 0 4px;font-size:16px;max-width:820px}

/* FORM */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:40px}
.contact-info h3{font-size:24px;margin-bottom:16px}
.contact-info p{color:#b5b5b5;line-height:1.7;margin-bottom:14px}
.contact-info .info-block{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.05)}
.contact-info .info-block:last-child{border:none}
.contact-info h4{color:#f5c518;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}
.contact-info a{color:#fff;font-weight:600}
.contact-info a:hover{color:#f5c518}
form.contact-form{background:#141414;padding:40px;border:1px solid rgba(255,255,255,.05)}
.form-group{margin-bottom:20px}
.form-group label{display:block;color:#cfcfcf;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-weight:600}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:14px;background:#0c0c0c;border:1px solid rgba(255,255,255,.1);color:#fff;font-family:inherit;font-size:15px;border-radius:3px;transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#f5c518}
.form-group textarea{min-height:140px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-consent{display:flex;gap:10px;align-items:flex-start;color:#999;font-size:13px;line-height:1.5;margin-bottom:20px}
.form-consent input{width:auto;margin-top:3px}
.form-consent a{color:#f5c518}
button.btn-primary{width:100%;cursor:pointer}

/* FINAL CTA */
.final-cta{padding:130px 0;text-align:center;background:#101010}
.final-cta h2{font-size:62px;max-width:1000px;margin:0 auto 32px;line-height:1.05;font-weight:900;letter-spacing:-1.5px}
.final-cta p{max-width:720px;margin:0 auto 40px;color:#999;font-size:19px;line-height:1.75}

/* FOOTER */
footer{padding:60px 0 40px;border-top:1px solid rgba(255,255,255,.05);color:#888;background:#080808}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:40px}
.footer-col h5{color:#f5c518;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:18px;font-weight:700}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{color:#999;font-size:14px;transition:color .2s}
.footer-col a:hover{color:#f5c518}
.footer-col p{color:#888;font-size:14px;line-height:1.6;margin-bottom:10px}
.footer-bottom{padding-top:30px;border-top:1px solid rgba(255,255,255,.05);text-align:center;color:#666;font-size:13px}

/* BREADCRUMBS */
.breadcrumbs{padding:110px 0 0;color:#888;font-size:13px;letter-spacing:.5px}
.breadcrumbs a{color:#888;text-decoration:underline}
.breadcrumbs a:hover{color:#f5c518}

/* SUCCESS PAGE */
.success-banner{background:rgba(245,197,24,.08);border-left:3px solid #f5c518;padding:20px 24px;margin-bottom:30px;border-radius:3px}
.success-banner h3{color:#f5c518;margin-bottom:8px;font-size:18px}
.success-banner p{color:#cfcfcf;font-size:15px}

@media(max-width:1100px){
  h1{font-size:54px}
  .section-title{font-size:38px}
  .image-section h2{font-size:42px}
  .final-cta h2{font-size:42px}
  .cards,.cards.cards-2{grid-template-columns:1fr}
  .industries{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .specs{grid-template-columns:1fr}
}
@media(max-width:768px){
  .menu{display:none}
  h1{font-size:42px;letter-spacing:-1.5px}
  .hero p.lead{font-size:17px}
  .industries{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .hero-buttons{flex-direction:column}
  .btn-primary,.btn-secondary{width:100%;text-align:center}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:80px 0}
  .image-section h2{font-size:32px}
  .final-cta h2{font-size:32px}
  .form-row{grid-template-columns:1fr}
  .prose h2{font-size:28px}
}
