@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,500&family=Inter:wght@300;400;500;600&display=swap");

.rkc-page,
.rkc-page *{
  box-sizing:border-box;
}

.rkc-page{
  --rkc-red:#d71924;
  --rkc-red-light:#ef2a34;
  --rkc-red-dark:#a90812;
  --rkc-ink:#1d1f22;
  --rkc-muted:#656a70;
  --rkc-line:rgba(27,29,32,.12);
  --rkc-soft:#f6f5f2;
  --rkc-page-width:1480px;
  --rkc-ease:cubic-bezier(.22,1,.36,1);

  width:100%;
  overflow:hidden;
  color:var(--rkc-ink);
  background:#fff;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.rkc-page img{
  display:block;
  max-width:100%;
}

.rkc-page a{
  color:inherit;
  text-decoration:none;
}

.rkc-page input,
.rkc-page textarea,
.rkc-page button{
  font:inherit;
}

.rkc-page svg{
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.rkc-container{
  width:min(calc(100% - 80px),var(--rkc-page-width));
  margin-inline:auto;
}

.rkc-eyebrow{
  margin:0 0 20px;
  color:var(--rkc-red);
  font-size:10px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.rkc-red-line{
  display:block;
  width:42px;
  height:1px;
  margin-top:27px;
  background:linear-gradient(
    90deg,
    var(--rkc-red),
    rgba(215,25,36,.12)
  );
}

/* =========================================================
   CONTACT
   ========================================================= */

.rkc-contact{
  position:relative;
  min-height:850px;
  padding-top:88px;
  overflow:hidden;
  isolation:isolate;
  background:#f7f6f3;
}

.rkc-contact__background{
  position:absolute;
  z-index:0;
  inset:0;
}

.rkc-contact__background img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.rkc-contact__fade{
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,.995) 27%,
      rgba(255,255,255,.93) 38%,
      rgba(255,255,255,.62) 48%,
      rgba(255,255,255,.15) 64%,
      transparent 79%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.03)
    );
}

.rkc-contact__inner{
  position:relative;
  z-index:3;
  min-height:762px;
  padding:70px 0 48px;
}

.rkc-contact__content{
  width:min(660px,48%);
}

.rkc-contact h1{
  max-width:620px;
  margin:0;
  color:#1c1e20;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(55px,4.4vw,77px);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.045em;
}

.rkc-contact h1 em{
  display:block;
  margin-top:8px;
  color:var(--rkc-red);
  font-style:italic;
  font-weight:500;
}

.rkc-contact__lead{
  max-width:485px;
  margin:29px 0 0;
  color:var(--rkc-muted);
  font-size:13px;
  line-height:1.75;
}

.rkc-contact__lower{
  margin-top:37px;
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  gap:29px;
}

.rkc-contact__details{
  padding-right:27px;
  border-right:1px solid var(--rkc-line);
}

.rkc-contact-item{
  display:grid;
  grid-template-columns:21px minmax(0,1fr);
  gap:14px;
  margin-bottom:22px;
}

.rkc-contact-item__icon{
  width:19px;
  height:19px;
  margin-top:1px;
  color:var(--rkc-red);
}

.rkc-contact-item__icon svg{
  width:100%;
  height:100%;
}

.rkc-contact-item h2{
  margin:0 0 7px;
  color:#25272a;
  font-size:9.5px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.rkc-contact-item p{
  margin:0;
  color:#555a60;
  font-size:10.5px;
  line-height:1.65;
}

.rkc-contact-item a{
  transition:color .25s ease;
}

.rkc-contact-item a:hover{
  color:var(--rkc-red);
}

.rkc-outline-button{
  min-height:44px;
  margin-top:5px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid rgba(215,25,36,.62);
  color:#292b2f;
  background:rgba(255,255,255,.5);
  font-size:9px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:
    color .3s ease,
    background .3s ease,
    transform .3s var(--rkc-ease);
}

.rkc-outline-button svg{
  width:16px;
  height:16px;
}

.rkc-outline-button:hover{
  color:#fff;
  background:var(--rkc-red);
  transform:translateY(-2px);
}

/* Form */

.rkc-form{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.rkc-form__row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.rkc-form label{
  position:relative;
  display:block;
}

.rkc-form label > span{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

.rkc-form input,
.rkc-form textarea{
  width:100%;
  border:1px solid rgba(28,30,33,.14);
  border-radius:0;
  outline:none;
  color:#292b2f;
  background:rgba(255,255,255,.83);
  box-shadow:
    0 5px 18px rgba(24,26,29,.025),
    inset 0 1px 0 rgba(255,255,255,.85);
  font-size:11px;
  transition:
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease;
}

.rkc-form input{
  height:43px;
  padding:0 14px;
}

.rkc-form textarea{
  min-height:118px;
  padding:13px 14px;
  resize:vertical;
  line-height:1.6;
}

.rkc-form input::placeholder,
.rkc-form textarea::placeholder{
  color:#73777c;
}

.rkc-form input:focus,
.rkc-form textarea:focus{
  border-color:rgba(215,25,36,.6);
  background:#fff;
  box-shadow:0 0 0 3px rgba(215,25,36,.06);
}

.rkc-submit{
  position:relative;
  min-height:48px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:0;
  color:#fff;
  background:linear-gradient(
    135deg,
    var(--rkc-red-light),
    var(--rkc-red) 57%,
    var(--rkc-red-dark)
  );
  box-shadow:0 13px 29px rgba(215,25,36,.23);
  cursor:pointer;
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:
    transform .3s var(--rkc-ease),
    box-shadow .3s ease;
}

.rkc-submit::before{
  content:"";
  position:absolute;
  top:-80%;
  left:-45%;
  width:27%;
  height:260%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.3),
    transparent
  );
  transform:skewX(-20deg);
  transition:left .85s var(--rkc-ease);
}

.rkc-submit svg{
  position:absolute;
  right:20px;
  width:17px;
  height:17px;
}

.rkc-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 37px rgba(215,25,36,.32);
}

.rkc-submit:hover::before{
  left:125%;
}

/* Location card */

.rkc-location-card{
  position:absolute;
  z-index:6;
  right:0;
  bottom:42px;
  width:min(365px,31vw);
  overflow:hidden;
  border:1px solid rgba(28,30,33,.12);
  background:rgba(255,255,255,.93);
  box-shadow:
    0 22px 55px rgba(22,24,27,.16),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:
    transform .4s var(--rkc-ease),
    box-shadow .4s ease;
}

.rkc-location-card:hover{
  transform:translateY(-5px);
  box-shadow:0 30px 68px rgba(22,24,27,.21);
}

.rkc-location-card__body{
  min-height:108px;
  padding:23px 27px;
  display:flex;
  align-items:center;
  gap:19px;
}

.rkc-location-card__pin{
  width:42px;
  height:42px;
  flex:0 0 42px;
  color:var(--rkc-red);
}

.rkc-location-card__pin svg{
  width:100%;
  height:100%;
  fill:var(--rkc-red);
  stroke:var(--rkc-red);
}

.rkc-location-card__pin circle{
  fill:#fff;
  stroke:#fff;
}

.rkc-location-card strong{
  display:block;
  margin-bottom:7px;
  color:#24262a;
  font-size:11px;
  font-weight:600;
}

.rkc-location-card p{
  margin:0;
  color:#666a70;
  font-size:10px;
  line-height:1.6;
}

.rkc-location-card__footer{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-top:1px solid rgba(28,30,33,.09);
  font-size:9px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.rkc-location-card__footer svg{
  width:14px;
  height:14px;
}

/* =========================================================
   SHOWROOMS
   ========================================================= */

.rkc-showrooms{
  padding:105px 0 120px;
  background:
    radial-gradient(
      circle at 0 0,
      rgba(215,25,36,.026),
      transparent 26%
    ),
    linear-gradient(180deg,#fff,#f8f7f4);
  border-top:1px solid rgba(25,27,30,.075);
}

.rkc-showrooms__heading{
  margin-bottom:54px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 440px;
  gap:70px;
  align-items:end;
}

.rkc-showrooms__heading h2{
  max-width:700px;
  margin:0;
  color:#1d1f22;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(50px,4.1vw,70px);
  font-weight:400;
  line-height:.93;
  letter-spacing:-.045em;
}

.rkc-showrooms__heading h2 em{
  display:block;
  color:var(--rkc-red);
  font-style:italic;
  font-weight:500;
}

.rkc-showrooms__heading-copy{
  padding-bottom:5px;
}

.rkc-showrooms__heading-copy p{
  margin:0;
  color:var(--rkc-muted);
  font-size:13px;
  line-height:1.75;
}

.rkc-showrooms__heading-copy .rkc-showrooms__notice{
  margin-top:13px;
  color:#43474c;
  font-size:10px;
  font-weight:500;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.rkc-showrooms__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 365px;
  gap:28px;
  align-items:stretch;
}

.rkc-showrooms__cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.rkc-showroom-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(25,27,30,.1);
  background:#fff;
  box-shadow:0 15px 36px rgba(25,27,30,.065);
  transition:
    transform .42s var(--rkc-ease),
    box-shadow .42s ease,
    border-color .42s ease;
}

.rkc-showroom-card:hover{
  border-color:rgba(215,25,36,.25);
  box-shadow:0 24px 50px rgba(25,27,30,.12);
  transform:translateY(-7px);
}

.rkc-showroom-card__image{
  position:relative;
  height:230px;
  margin:0;
  overflow:hidden;
  background:#ebeae7;
}

.rkc-showroom-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:
    transform .85s var(--rkc-ease),
    filter .5s ease;
}

.rkc-showroom-card__image span{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    transparent 55%,
    rgba(7,8,9,.18)
  );
}

.rkc-showroom-card:hover .rkc-showroom-card__image img{
  transform:scale(1.06);
  filter:saturate(1.04) contrast(1.025);
}

.rkc-showroom-card__content{
  min-height:330px;
  padding:25px 27px 22px;
  display:flex;
  flex-direction:column;
}

.rkc-showroom-card__top{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:12px;
  align-items:start;
}

.rkc-showroom-card__marker{
  width:19px;
  height:19px;
  color:var(--rkc-red);
}

.rkc-showroom-card__marker svg{
  width:100%;
  height:100%;
}

.rkc-showroom-card__type{
  margin:0 0 5px;
  color:var(--rkc-red);
  font-size:8px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.rkc-showroom-card h3{
  margin:0;
  color:#25272b;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:28px;
  font-weight:500;
  line-height:1.05;
}

.rkc-showroom-card address{
  margin:22px 0 0 32px;
  color:#575c61;
  font-size:11px;
  font-style:normal;
  line-height:1.7;
}

.rkc-showroom-card__note{
  min-height:48px;
  margin:17px 0 0 32px;
  color:#777b80;
  font-size:10px;
  line-height:1.6;
}

.rkc-showroom-card__phone{
  width:max-content;
  margin:15px 0 0 32px;
  color:#24262a;
  font-size:13px;
  font-weight:600;
  transition:color .25s ease;
}

.rkc-showroom-card__phone:hover{
  color:var(--rkc-red);
}

.rkc-showroom-card__actions{
  margin-top:auto;
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border-top:1px solid rgba(25,27,30,.09);
  color:var(--rkc-red);
  font-size:8.5px;
  font-weight:600;
  letter-spacing:.065em;
  text-transform:uppercase;
}

.rkc-showroom-card__actions a{
  transition:color .25s ease;
}

.rkc-showroom-card__actions a:hover{
  color:var(--rkc-red-dark);
}

.rkc-showroom-card__actions b{
  margin-left:7px;
  font-size:16px;
  font-weight:300;
}

/* Map */

.rkc-showrooms-map{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(25,27,30,.1);
  background:#fff;
  box-shadow:0 15px 36px rgba(25,27,30,.065);
}

.rkc-showrooms-map__image{
  position:relative;
  min-height:430px;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(
      circle at 50% 48%,
      rgba(215,25,36,.035),
      transparent 46%
    ),
    #f7f7f5;
}

.rkc-showrooms-map__image img{
  width:100%;
  height:100%;
  max-height:390px;
  object-fit:contain;
}

.rkc-showrooms-map__content{
  flex:1;
  padding:28px 29px 27px;
  border-top:1px solid rgba(25,27,30,.08);
}

.rkc-showrooms-map__content h3{
  margin:0;
  color:#202226;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:35px;
  font-weight:500;
  line-height:1;
}

.rkc-showrooms-map__content ul{
  list-style:none;
  margin:27px 0 0;
  padding:0;
  display:grid;
  gap:17px;
}

.rkc-showrooms-map__content li{
  display:grid;
  grid-template-columns:11px minmax(0,1fr);
  gap:12px;
}

.rkc-showrooms-map__content li > span{
  position:relative;
  width:9px;
  height:9px;
  margin-top:4px;
  border:2px solid var(--rkc-red);
  border-radius:50%;
}

.rkc-showrooms-map__content li > span::after{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:50%;
  background:var(--rkc-red);
}

.rkc-showrooms-map__content strong{
  display:block;
  color:#2e3034;
  font-size:9px;
  font-weight:600;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.rkc-showrooms-map__content small{
  display:block;
  margin-top:4px;
  color:#75797e;
  font-size:9px;
  line-height:1.5;
}

.rkc-showrooms-map__notice{
  margin:25px 0 0;
  padding-top:20px;
  border-top:1px solid rgba(25,27,30,.09);
  color:#55595e;
  font-size:9px;
  font-weight:500;
  line-height:1.55;
  letter-spacing:.045em;
  text-transform:uppercase;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:1200px){

  .rkc-contact__content{
    width:58%;
  }

  .rkc-contact__fade{
    background:linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,.98) 37%,
      rgba(255,255,255,.75) 52%,
      rgba(255,255,255,.12) 75%,
      transparent 88%
    );
  }

  .rkc-showrooms__layout{
    grid-template-columns:1fr;
  }

  .rkc-showrooms-map{
    display:grid;
    grid-template-columns:45% 55%;
  }

  .rkc-showrooms-map__image{
    min-height:380px;
  }

  .rkc-showrooms-map__content{
    border-top:0;
    border-left:1px solid rgba(25,27,30,.08);
  }
}

@media (max-width:900px){

  .rkc-container{
    width:calc(100% - 40px);
  }

  .rkc-contact{
    min-height:auto;
    padding-top:78px;
  }

  .rkc-contact__background{
    position:absolute;
    top:auto;
    bottom:0;
    height:475px;
  }

  .rkc-contact__fade{
    background:linear-gradient(
      180deg,
      #fff 0%,
      rgba(255,255,255,.98) 53%,
      rgba(255,255,255,.5) 75%,
      rgba(255,255,255,.04)
    );
  }

  .rkc-contact__inner{
    min-height:auto;
    padding:62px 0 425px;
  }

  .rkc-contact__content{
    width:100%;
    max-width:680px;
  }

  .rkc-location-card{
    right:0;
    bottom:35px;
    width:min(400px,100%);
  }

  .rkc-showrooms__heading{
    grid-template-columns:1fr;
    gap:25px;
  }

  .rkc-showrooms__heading-copy{
    max-width:620px;
  }

  .rkc-showrooms__cards{
    grid-template-columns:1fr;
  }

  .rkc-showroom-card{
    display:grid;
    grid-template-columns:42% 58%;
  }

  .rkc-showroom-card__image{
    height:100%;
    min-height:360px;
  }
}

@media (max-width:680px){

  .rkc-container{
    width:calc(100% - 30px);
  }

  .rkc-contact__inner{
    padding-top:48px;
    padding-bottom:400px;
  }

  .rkc-contact h1{
    font-size:49px;
  }

  .rkc-contact__lower{
    grid-template-columns:1fr;
  }

  .rkc-contact__details{
    padding:0 0 26px;
    border-right:0;
    border-bottom:1px solid var(--rkc-line);
  }

  .rkc-form__row{
    grid-template-columns:1fr;
  }

  .rkc-showrooms{
    padding:75px 0 85px;
  }

  .rkc-showroom-card{
    display:block;
  }

  .rkc-showroom-card__image{
    height:235px;
    min-height:0;
  }

  .rkc-showroom-card__content{
    min-height:340px;
    padding:23px 21px 20px;
  }

  .rkc-showroom-card address,
  .rkc-showroom-card__note,
  .rkc-showroom-card__phone{
    margin-left:31px;
  }

  .rkc-showrooms-map{
    display:block;
  }

  .rkc-showrooms-map__image{
    min-height:350px;
  }

  .rkc-showrooms-map__content{
    border-left:0;
    border-top:1px solid rgba(25,27,30,.08);
  }
}

@media (max-width:420px){

  .rkc-contact h1{
    font-size:43px;
  }

  .rkc-location-card__body{
    padding:19px;
  }

  .rkc-showrooms__heading h2{
    font-size:45px;
  }
}