:root{
  --red:#C1272D; --dark:#1F1F1F; --gray:#8F8F8F; --line:#D9D9D9;
  --bg:#FAFAF8; --white:#FFFFFF;
  --navy:#16223F; --navy-2:#1C2A4C; --navy-line:#2E3F63; --navy-text:#C6CFDF; --navy-mute:#8FA0C0;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--dark);background:var(--white);line-height:1.7;font-size:16px}
img{max-width:100%}
a{color:var(--red);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 24px}
section{padding:96px 0;scroll-margin-top:80px}
.eyebrow{letter-spacing:.35em;text-transform:uppercase;font-size:11.5px;color:var(--gray);font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.18}
h2{font-size:clamp(30px,4vw,42px);margin:14px 0 18px}
.rule{width:48px;height:2px;background:var(--red);margin:0 0 30px}
.lead{max-width:740px;color:#3d3d3d}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:12px}
.logo{display:inline-block;color:var(--dark);text-align:left;padding-bottom:6px;border-bottom:1px solid var(--line)}
.logo small{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.45em;color:var(--gray);text-transform:uppercase;line-height:1.4}
.logo .name{font-family:var(--serif);font-size:25px;letter-spacing:.5px;line-height:1.15}
.logo .name b{color:var(--red);font-weight:600}
.menu{display:flex;gap:28px;list-style:none}
.menu a{color:var(--dark);font-size:14px;font-weight:400}
.menu a:hover{color:var(--red)}
.langs{display:flex;gap:2px;font-size:13px;font-weight:500}
.langs a{color:var(--gray);padding:2px 6px}
.langs a:hover{color:var(--dark)}
.langs a.active{color:var(--red)}
.burger{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--dark)}
@media(max-width:900px){
  .menu{display:none;position:absolute;top:78px;left:0;right:0;background:var(--white);flex-direction:column;padding:20px 24px;gap:16px;border-bottom:1px solid var(--line)}
  .menu.open{display:flex}
  .burger{display:block}
}

/* Hero */
.hero{background:linear-gradient(90deg,rgba(51,51,51,.92) 0%,rgba(51,51,51,0) 100%),url('../img/most-bridge.jpg') center 55%/cover no-repeat;color:var(--white);padding:130px 0 150px;position:relative;overflow:hidden}
.hero .eyebrow{color:var(--navy-mute)}
.hero h1{font-size:clamp(38px,5.5vw,64px);margin:20px 0 22px;max-width:720px;color:var(--white)}
.hero .hero-rule{width:48px;height:2px;background:var(--red);margin:0 0 24px}
.hero .sub{max-width:600px;color:var(--navy-text);font-weight:300;font-size:17.5px;position:relative;z-index:2}
.hero .cta{display:inline-block;margin-top:36px;background:var(--red);color:#fff;padding:14px 36px;font-weight:500;font-size:14.5px;border-radius:2px;position:relative;z-index:2}
.hero .cta:hover{background:#a81f25}
.hero .cta2{display:inline-block;margin-top:36px;margin-left:14px;color:#fff;padding:14px 26px;font-weight:400;font-size:14.5px;border:1px solid rgba(255,255,255,.4);border-radius:2px;position:relative;z-index:2}
.hero .cta2:hover{border-color:#fff}
.hero .content{position:relative;z-index:2}
@media(max-width:1000px){
  .hero{padding:90px 0 110px}
}
@media(max-width:560px){
  .hero .cta,.hero .cta2{display:block;text-align:center;margin:14px 0 0 0}
  .hero .cta{margin-top:32px}
}

/* Facts strip */
.facts{background:var(--white);border-bottom:1px solid var(--line)}
.facts .in{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:0 auto;padding:0 24px}
.fact{display:flex;align-items:center;gap:14px;padding:26px 18px;border-left:1px solid var(--line)}
.fact:first-child{border-left:none;padding-left:0}
.fact svg{width:30px;height:30px;color:var(--red);flex:none}
.fact-t{font-size:13.5px;font-weight:500;color:var(--dark);line-height:1.4}
@media(max-width:900px){
  .facts .in{grid-template-columns:1fr 1fr}
  .fact{border-left:none;border-top:1px solid var(--line);padding:18px 8px}
  .fact:nth-child(-n+2){border-top:none}
  .fact:first-child{padding-left:8px}
}

/* Intro */
.intro p{max-width:780px;color:#3d3d3d;margin-bottom:16px}
.intro p:last-child{margin-bottom:0;color:var(--gray);font-size:14.5px}

.about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.about-img{width:100%;border:1px solid var(--line);display:block;box-shadow:0 20px 40px rgba(0,0,0,.14)}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:36px}}

/* Cards */
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:48px}
.card{background:var(--white);border:1px solid var(--line);border-top:2px solid var(--red);padding:34px 28px;position:relative}
.card .n{position:absolute;top:22px;right:24px;font-family:var(--serif);font-size:34px;color:var(--line);line-height:1}
.card .icon{width:42px;height:42px;color:var(--red);margin-bottom:20px}
.card h3{font-size:22px;margin-bottom:14px}
.card ul{list-style:none}
.card li{font-size:14px;color:#555;padding:6px 0 6px 18px;position:relative}
.card li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:1px;background:var(--red)}

/* Timeline */
.tl{margin-top:56px;position:relative;counter-reset:tl}
.tl::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:var(--line)}
.tl-in{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.tl-item{position:relative;padding-top:78px}
.tl-item::before{counter-increment:tl;content:counter(tl,decimal-leading-zero);position:absolute;top:0;left:0;width:54px;height:54px;border-radius:50%;background:var(--white);border:1px solid var(--line);color:var(--red);font-family:var(--serif);font-size:20px;display:flex;align-items:center;justify-content:center;z-index:1}
.tl-item h3{font-size:19px;margin-bottom:8px}
.tl-item p{font-size:13.5px;color:#555}
@media(max-width:900px){
  .tl::before{left:27px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .tl-in{grid-template-columns:1fr;gap:34px}
  .tl-item{padding-top:0;padding-left:78px;min-height:54px}
}
.legal-note{margin-top:60px;border-left:2px solid var(--line);padding:6px 0 6px 28px;font-size:13.5px;color:var(--gray);max-width:860px}

/* Financing */
.fin{background:var(--bg);color:#3d3d3d;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.fin .eyebrow{color:var(--gray)}
.fin h2{color:var(--dark)}
.fin .lead{color:#3d3d3d}
.fin ul{list-style:none;margin:34px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:860px}
.fin li{background:var(--white);border:1px solid var(--line);padding:22px 20px;font-size:14.5px;color:#555;position:relative}
.fin li::before{content:"";display:block;width:22px;height:2px;background:var(--red);margin-bottom:12px}
.fin strong{color:var(--dark);font-weight:600}
@media(max-width:760px){.fin ul{grid-template-columns:1fr}}

/* Contact */
.contact-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;margin-top:48px}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr;gap:48px}}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}
.tags span{background:var(--bg);border:1px solid var(--line);font-size:13px;padding:5px 13px;border-radius:20px;color:#555}
.cinfo p{margin-bottom:10px;font-size:15px}
.cinfo b{font-weight:500}
.cinfo-item{display:flex;align-items:flex-start;gap:13px}
.cico{width:19px;height:19px;color:var(--red);flex:none;margin-top:3px}
form label{display:block;font-size:13px;font-weight:500;margin:18px 0 6px}
form label .req{color:var(--red)}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:2px;font-family:var(--sans);font-size:15px;background:var(--white)}
input:focus,textarea:focus{outline:none;border-color:var(--red)}
textarea{min-height:130px;resize:vertical}
.err-msg{color:var(--red);font-size:12.5px;margin-top:5px;display:none}
.err-msg.show{display:block}
input.invalid,textarea.invalid{border-color:var(--red)}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px;margin-top:8px}
.checks label,.consents label{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:13.5px;margin:6px 0;cursor:pointer;color:#555}
.checks input,.consents input{margin-top:4px;accent-color:var(--red)}
.consents{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
button.submit{margin-top:26px;background:var(--red);color:#fff;border:none;padding:14px 40px;font-size:14.5px;font-weight:500;border-radius:2px;cursor:pointer;font-family:var(--sans);width:auto}
button.submit:hover{background:#a81f25}
@media(max-width:560px){button.submit{width:100%}}

/* Footer */
footer{background:var(--dark);color:#9a9a9a;padding:48px 0;font-size:13.5px}
.foot{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.foot .flogo{font-family:var(--serif);font-size:22px;color:#fff}
.foot .flogo b{color:var(--red)}
.foot a{color:#9a9a9a}
.foot a:hover{color:#fff}
.socials{display:flex;gap:12px}
.socials a{display:inline-flex;width:36px;height:36px;border:1px solid #3a3a3a;border-radius:50%;align-items:center;justify-content:center;transition:border-color .2s,transform .2s}
.socials svg{width:17px;height:17px;color:var(--red);flex:none}
.socials a:hover{border-color:var(--red);transform:translateY(-2px)}
.foot-legal{margin-top:26px;border-top:1px solid #333;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
