
:root{
  --blue:#1169b2;
  --navy:#082e58;
  --gold:#c69a47;
  --ink:#12304e;
}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#082c50;color:var(--ink)}
img{display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.desktop-page{min-height:100vh;display:grid;grid-template-rows:minmax(650px,calc(100vh - 112px)) 112px}
.hero{
  position:relative;
  overflow:hidden;
  background:#f8f7f3 url("../images/approved-stone-scene.jpg") center center/cover no-repeat;
}
.logo{
  position:absolute;
  left:27.6%;
  top:5.0%;
  transform:translateX(-50%);
  width:clamp(120px,10.4vw,172px);
  height:auto;
}
.company{
  position:absolute;
  left:27.6%;
  top:23.1%;
  transform:translateX(-50%);
  width:49%;
  margin:0;
  text-align:center;
  color:var(--blue);
  font-weight:800;
  font-size:clamp(30px,2.75vw,47px);
  line-height:1.05;
  letter-spacing:-1.2px;
  white-space:nowrap;
}
.dealer{
  position:absolute;
  left:27.6%;
  top:29.8%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  width:40%;
  color:#183a60;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.37em;
  font-size:clamp(9px,.82vw,14px);
  white-space:nowrap;
}
.dealer::before,.dealer::after{content:"";width:63px;height:3px;background:var(--gold)}
.coming{
  position:absolute;
  left:27.6%;
  top:34.3%;
  transform:translateX(-50%);
  width:47%;
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(68px,5.85vw,101px);
  line-height:.93;
  letter-spacing:-5px;
  font-weight:700;
  color:#082d57;
  white-space:nowrap;
}
.intro{
  position:absolute;
  left:27.6%;
  top:48.2%;
  transform:translateX(-50%);
  width:39.5%;
  margin:0;
  text-align:center;
  color:#183550;
  font-size:clamp(14px,1.08vw,18px);
  line-height:1.48;
}
.categories{
  position:absolute;
  left:7.2%;
  top:61.0%;
  width:41.6%;
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.category{
  position:relative;
  text-align:center;
  padding:0 7px;
}
.category:not(:last-child)::after{
  content:"";
  position:absolute;right:0;top:10px;
  width:1px;height:72px;background:rgba(28,58,87,.22)
}
.cat-icon{
  width:54px;height:54px;margin:0 auto 7px;border-radius:50%;
  display:grid;place-items:center;
  color:#123f70;background:rgba(255,255,255,.94);
  border:1.4px solid var(--gold);
}
.cat-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.category strong{display:block;color:#0e3157;font-size:clamp(10px,.78vw,13px);line-height:1.25}

.form-card{
  position:absolute;
  left:62.4%;
  top:15.0%;
  width:33.4%;
  min-width:430px;
  max-width:555px;
  padding:34px 38px 31px;
  border-radius:27px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 22px 54px rgba(12,34,54,.18);
}
.form-card h2{
  margin:0 0 7px;
  font-family:Georgia,"Times New Roman",serif;
  color:#0a315a;
  font-size:clamp(31px,2.35vw,40px);
  line-height:1.05
}
.form-card .lead{margin:0 0 22px;color:#2b435d;font-size:clamp(13px,1vw,16px);line-height:1.45}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{margin-bottom:12px}
input,select,textarea{
  width:100%;border:1px solid #cfd7df;background:#fff;color:#26384a;
  border-radius:7px;padding:13px 14px;outline:none;font-size:14px
}
input,select{height:47px}
textarea{height:108px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#78a7cb;box-shadow:0 0 0 3px rgba(17,105,178,.08)}
.submit{
  width:100%;height:53px;border:0;border-radius:7px;cursor:pointer;
  background:linear-gradient(180deg,#18568c,#0c3e70);color:white;font-size:16px;font-weight:700;
  box-shadow:0 7px 18px rgba(8,46,88,.14)
}
.submit:hover{filter:brightness(1.04)}
.submit:disabled{opacity:.68;cursor:wait}
.status{padding:9px 11px;margin:0 0 12px;border-radius:8px;font-size:12px;line-height:1.4}
.status.success{background:#eef8f2;color:#216945;border:1px solid #cae5d6}
.status.error{background:#fff2f0;color:#973f37;border:1px solid #efd0cc}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

.footer{
  min-height:112px;
  background:linear-gradient(rgba(5,39,70,.96),rgba(5,39,70,.96)),url("../images/footer-stone.jpg") center/cover no-repeat;
  color:#fff;
}
.footer-inner{
  width:min(1500px,calc(100% - 64px));
  height:112px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1.35fr 1.55fr 3.2fr;
  align-items:center;
}
.footer-item{
  min-width:0;
  display:flex;
  align-items:center;
  gap:13px;
  padding:0 26px;
  height:62px;
  border-right:1px solid rgba(255,255,255,.25)
}
.footer-item:first-child{padding-left:0}
.footer-item:last-child{padding-right:0;border-right:0}
.footer-icon{
  width:47px;height:47px;flex:0 0 47px;border-radius:50%;
  display:grid;place-items:center;background:#fff;color:#176ab1
}
.footer-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-item strong,.footer-item a,.footer-item span{font-size:15px;line-height:1.42}
.footer-item strong,.footer-item a{white-space:nowrap}
.footer-item.address span{font-size:14px}

.mobile-page{display:none}

@media(max-width:1100px){
  .form-card{min-width:0;left:auto;right:2.5%;width:38%}
  .company{font-size:32px}
  .coming{font-size:68px}
  .intro{width:43%}
  .categories{left:4.5%;width:48%}
  .footer-inner{width:calc(100% - 30px);grid-template-columns:1fr 1.1fr 1.4fr 2.7fr}
  .footer-item{padding:0 12px}
  .footer-item strong,.footer-item a{font-size:13px}
  .footer-item.address span{font-size:12px}
}
@media(max-width:820px){
  .desktop-page{display:none}
  .mobile-page{display:block;min-height:100vh;background:#f7f3ec}
  .mobile-hero{
    padding:28px 18px 36px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.80)),
      url("../images/approved-stone-scene.jpg") 34% center/cover no-repeat;
    text-align:center
  }
  .mobile-logo{width:122px;margin:0 auto 4px}
  .mobile-company{margin:0;color:#1169b2;font-size:28px;line-height:1.08}
  .mobile-dealer{margin:8px 0 16px;text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:#173a60;font-weight:700}
  .mobile-coming{font-family:Georgia,"Times New Roman",serif;color:#082d57;font-size:55px;line-height:1;margin:0 0 12px}
  .mobile-intro{font-size:14px;line-height:1.55;max-width:560px;margin:0 auto}
  .mobile-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 5px;margin:26px auto 0;max-width:570px}
  .mobile-form-wrap{padding:20px 14px 26px;background:#f7f3ec}
  .mobile-card{max-width:620px;margin:0 auto;background:#fff;border-radius:22px;padding:24px 21px;box-shadow:0 16px 42px rgba(18,38,58,.15)}
  .mobile-card h2{font-family:Georgia,"Times New Roman",serif;color:#0a315a;font-size:34px;margin:0 0 6px}
  .mobile-card p{margin:0 0 18px;color:#485c70;font-size:14px;line-height:1.5}
  .mobile-contact{background:#082f55;color:#fff;padding:20px 18px;font-size:13px;line-height:1.6}
  .mobile-contact .contact-row{max-width:620px;margin:0 auto 12px}
  .mobile-contact a{color:#fff}
}
