/* ============================================================================
   Contact page
   Markup: pages/contact.php
   Loaded only on this page (see the route's "css" key in config.php).
   Shared blocks such as buttons, heroes and closing CTAs live in components.css.
   ========================================================================= */

/* Hero */
.rp-hero.rp-hero--contact{
  padding:clamp(110px,13vw,205px) 0 clamp(100px,12vw,150px);
}
.rp-hero--contact .rp-hero__title{
  font-size:clamp(2.4rem,5vw,4rem);
  line-height:1.12;
  letter-spacing:-.01em;
  margin-bottom:.7em;
}
.rp-hero--contact .rp-hero__lead{
  max-width:660px;
  font-size:clamp(1rem,1.3vw,1.125rem);
  font-weight:400;
  line-height:1.62;
  color:#4B5563;
}
.rp-hero--contact .rp-hero__actions{ align-items:center; gap:24px; margin-top:48px; }
.rp-hero--contact .rp-btn--gold{
  font-size:14px;
  letter-spacing:.08em;
  padding:21px 40px;
  box-shadow:none;
}
.rp-hero--contact .rp-btn::after{ content:none; }
.rp-hero .rp-btn.rp-btn--link{
  padding:0 0 3px;
  background:none;
  border:0;
  border-bottom:1px solid rgba(55,65,81,.4);
  border-radius:0;
  box-shadow:none;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:none;
  color:#374151;
}
.rp-hero .rp-btn.rp-btn--link::before{ content:none; }
.rp-hero .rp-btn.rp-btn--link:hover{ color:var(--rp-ink-blue); border-bottom-color:var(--rp-gold-bright); }

/* Enquiry */
.rp-section.rp-enquiry{ background:#F9F8F6; padding-block:clamp(60px,7vw,90px) clamp(80px,8vw,100px); }
.rp-enquiry .rp-split{ gap:clamp(36px,6vw,80px); }
.rp-enquiry__title{
  font-size:clamp(1.8rem,2.8vw,2.25rem);
  font-weight:400;
  color:var(--rp-ink-blue);
  margin:clamp(0px,1.4vw,16px) 0 26px;
}
.rp-enquiry__points{ list-style:none; margin:0; padding:0 0 clamp(40px,5vw,62px); border-bottom:1px solid #E5E3DE; max-width:536px; }
.rp-enquiry__points li{ display:flex; gap:14px; margin-bottom:34px; }
.rp-enquiry__points li:last-child{ margin-bottom:0; }
.rp-enquiry__icon{ flex:none; width:20px; height:20px; margin-top:1px; color:var(--rp-bronze); }
.rp-enquiry__point-title{
  font-family:var(--rp-sans);
  font-size:15px;
  font-weight:500;
  letter-spacing:.03em;
  color:#374151;
  margin:0 0 4px;
}
.rp-enquiry__points p{ font-size:16px; line-height:1.55; color:#374151; margin:0; }
.rp-enquiry__details{ margin:clamp(40px,5vw,54px) 0 0; scroll-margin-top:120px; }
.rp-enquiry__details div + div{ margin-top:30px; }
.rp-enquiry__details dt{
  font-size:13px;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4B5563;
  margin-bottom:6px;
}
.rp-enquiry__details dd{
  margin:0;
  font-family:var(--rp-serif);
  font-size:clamp(1.3rem,2vw,1.65rem);
  line-height:1.3;
  font-variant-numeric:lining-nums;
  color:var(--rp-ink-blue);
  overflow-wrap:anywhere;
}
.rp-enquiry__details a{ color:inherit; }
.rp-enquiry__details a:hover{ color:var(--rp-gold-bright); }

.rp-enquiry__socials{ display:flex; gap:12px; list-style:none; margin:36px 0 0; padding:0; }
.rp-enquiry__socials a,
.rp-enquiry__socials span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(22,51,94,.25);
  border-radius:50%;
  color:var(--rp-ink-blue);
  transition:color .3s var(--rp-ease), border-color .3s var(--rp-ease), background-color .3s var(--rp-ease);
}
.rp-enquiry__socials a:hover{ background:var(--rp-ink-blue); border-color:var(--rp-ink-blue); color:#fff; }
.rp-enquiry__socials svg{ width:18px; height:18px; }

.rp-enquiry__card{
  background:#fff;
  border:1px solid #EEEDEA;
  padding:clamp(28px,3.8vw,48px);
}
.rp-form--panel .rp-form__row{ gap:26px 24px; }
.rp-form--panel .rp-form__req{ display:none; }
.rp-form--panel label{
  display:block;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:none;
  color:#374151;
}
.rp-form--panel input[type="text"],
.rp-form--panel input[type="email"],
.rp-form--panel input[type="tel"],
.rp-form--panel select,
.rp-form--panel textarea{
  width:100%;
  font-size:16px;
  line-height:1.25;
  color:#1F2937;
  background:#F4F3F1;
  border:1px solid #E3E1DC;
  border-radius:0;
  padding:18px 16px;
  transition:border-color .3s var(--rp-ease), background-color .3s var(--rp-ease);
}
.rp-form--panel input:focus,
.rp-form--panel select:focus,
.rp-form--panel textarea:focus{ outline:none; background:#fff; border-color:var(--rp-gold-bright); }
.rp-form--panel ::placeholder{ color:#6B7280; opacity:1; }
.rp-form--panel select{
  -webkit-appearance:none;
  appearance:none;
  background:#F4F3F1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23374151' stroke-width='1.4'/%3E%3C/svg%3E") right 16px center/12px 8px no-repeat;
  padding-right:44px;
}
.rp-form--panel .rp-phone select{ padding-inline:12px 30px; background-position:right 10px center; }
.rp-form--panel textarea{ min-height:130px; resize:vertical; }
.rp-form--panel .rp-form__row--2 textarea{ min-height:0; height:76px; padding-block:14px; resize:none; }
.rp-form--panel [type="submit"]{
  width:100%;
  margin-top:4px;
  padding:21px 24px;
  background:var(--rp-gold-bright);
  color:#374151;
  font-size:14px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  box-shadow:0 14px 28px -14px rgba(214,160,40,.8);
}
.rp-form--panel [type="submit"]::after{ content:"\2192"; margin-left:10px; }
.rp-form--panel [type="submit"]:hover{ background:#F0C55A; color:var(--rp-ink-blue); }

/* What happens next */
.rp-section.rp-path{ background:#EDEDED; padding-block:clamp(80px,9vw,120px) clamp(80px,8vw,100px); }
.rp-path__header{ margin-bottom:clamp(40px,5vw,64px); }
.rp-path__header .rp-eyebrow{ font-size:13px; font-weight:400; letter-spacing:.06em; color:var(--rp-bronze); margin-bottom:12px; }
.rp-path__header .rp-heading{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; color:var(--rp-ink-blue); }
.rp-path__steps{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:32px;
  list-style:none;
  margin:0;
  padding:0;
  align-items:start;
}
.rp-path__step{
  position:relative;
  background:#fff;
  padding:32px 33px 42px;
  text-align:left;
}
.rp-path__step:last-child{ padding-bottom:62px; }
.rp-path__step + .rp-path__step::before{
  content:"";
  position:absolute;
  top:56px;
  right:100%;
  width:32px;
  height:1px;
  background:rgba(232,182,62,.55);
}
.rp-path__no{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin:0 auto 32px;
  background:#000;
  font-size:17px;
  font-weight:600;
  font-variant-numeric:lining-nums;
  color:#fff;
}
.rp-path__title{
  font-family:var(--rp-sans);
  font-size:15px;
  font-weight:500;
  letter-spacing:.04em;
  color:#374151;
  margin:0 0 10px;
}
.rp-path__text{ font-size:15px; line-height:1.35; color:#374151; margin:0; }

/* Not sure where to start */
.rp-section.rp-start{ background:#F9F8F6; padding-block:clamp(70px,8vw,100px) clamp(80px,9vw,110px); }
.rp-start__header{ max-width:none; margin-bottom:48px; }
.rp-start__header .rp-heading{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; color:var(--rp-ink-blue); margin-bottom:4px; }
.rp-start__header .rp-lead{ font-size:15px; line-height:1.5; color:#374151; }
.rp-start__rows{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.rp-start__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:34px 32px;
  background:#FAF9F7;
  border:1px solid #EEECE8;
  transition:background-color .3s var(--rp-ease), border-color .3s var(--rp-ease);
}
.rp-start__row:hover{ background:#fff; border-color:rgba(232,182,62,.5); }
.rp-start__quote{ font-size:clamp(1rem,1.4vw,1.125rem); line-height:1.45; color:#374151; }
.rp-start__link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  flex:none;
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--rp-bronze);
}
.rp-start__link svg{ width:18px; height:18px; transition:transform .3s var(--rp-ease); }
.rp-start__row:hover .rp-start__link svg{ transform:translateX(4px); }

/* Confidentiality */
.rp-section.rp-private{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#0A1938;
  padding-block:clamp(90px,9vw,120px) clamp(90px,10vw,120px);
}
.rp-private::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(to top right, transparent calc(50% - .5px), rgba(255,255,255,.04) 50%, transparent calc(50% + .5px)) left/42% 100% no-repeat;
}
.rp-private__header{ max-width:none; margin-bottom:clamp(48px,6vw,68px); }
.rp-private__header .rp-heading{ font-size:clamp(2rem,4vw,3.25rem); font-weight:400; line-height:1.2; color:#fff; margin-bottom:.6em; }
.rp-private__header .rp-lead{ max-width:none; font-size:clamp(1rem,1.4vw,1.125rem); color:#8792A6; }
.rp-private__points{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
  max-width:896px;
  margin:0 auto;
  padding:48px 0 0;
  border-top:1px solid rgba(255,255,255,.08);
  list-style:none;
  text-align:center;
}
.rp-private__points li{
  font-size:14px;
  font-weight:500;
  letter-spacing:.1em;
  line-height:1.3;
  text-transform:uppercase;
  color:#fff;
}
.rp-private__points li::before{
  content:"";
  display:block;
  width:5px;
  height:5px;
  margin:0 auto 16px;
  border-radius:50%;
  background:#9A7414;
}

/* FAQ */
.rp-section.rp-qa{ background:#F9F8F6; padding-block:clamp(70px,8vw,100px) clamp(60px,6vw,80px); }
.rp-qa__header{ margin-bottom:48px; }
.rp-qa__header .rp-heading{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; color:var(--rp-ink-blue); }
.rp-qa__list{ max-width:768px; margin-inline:auto; }
.rp-qa__list .rp-accordion__item{ border:1px solid #EFEEEB; background:#fff; margin-bottom:17px; }
.rp-qa__list .rp-accordion__item.is-open{ border-color:#EFEEEB; box-shadow:inset 3px 0 0 var(--rp-gold-bright); }
.rp-qa__list .rp-accordion__trigger{
  padding:22px 24px;
  font-size:15px;
  font-weight:500;
  letter-spacing:.03em;
  color:#374151;
}
.rp-qa__list .rp-accordion__trigger:hover,
.rp-qa__list .rp-accordion__item.is-open .rp-accordion__trigger{ color:var(--rp-ink-blue); }
.rp-qa__list .rp-accordion__icon::before,
.rp-qa__list .rp-accordion__icon::after{
  width:8px;
  height:1.8px;
  background:#111827;
  top:50%;
  left:50%;
}
.rp-qa__list .rp-accordion__icon::before{ transform:translate(-85%,-50%) rotate(45deg); }
.rp-qa__list .rp-accordion__icon::after{ transform:translate(-15%,-50%) rotate(-45deg); opacity:1; }
.rp-qa__list .rp-accordion__item.is-open .rp-accordion__icon::before{ transform:translate(-85%,-50%) rotate(-45deg); }
.rp-qa__list .rp-accordion__item.is-open .rp-accordion__icon::after{ transform:translate(-15%,-50%) rotate(45deg); opacity:1; }
.rp-qa__list .rp-accordion__body{ padding:0 24px 22px; font-size:15px; color:#4B5563; }

@media (max-width:1024px){
  .rp-path__steps{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .rp-path__step::before{ display:none; }
}
@media (max-width:760px){
  .rp-private__points{ grid-template-columns:1fr; }
  .rp-start__row{ flex-direction:column; align-items:flex-start; gap:14px; padding:26px 22px; }
}
@media (max-width:600px){
  .rp-hero.rp-hero--contact{ padding:88px 0 72px; }
  .rp-hero--contact .rp-btn--gold{ padding:18px 24px; }
  /* A text link, not a button: keep it its own width, not full-bleed. */
  .rp-hero .rp-btn.rp-btn--link{ width:auto; }
  /* Small enough that the email address fits on one line. */
  .rp-enquiry__details dd{ font-size:1.12rem; }
}
@media (max-width:560px){
  .rp-path__steps{ grid-template-columns:1fr; gap:20px; }
  .rp-path__step,
  .rp-path__step:last-child{ padding:28px 24px 32px; }
  .rp-path__no{ margin-bottom:22px; }
}
