
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,96px); align-items:center}
.split--top{align-items:start}
.split--narrow{grid-template-columns:.9fr 1.1fr}
.split--wide{grid-template-columns:1.1fr .9fr}

.hero{padding-bottom:clamp(16px,2vw,28px)}
.hero__copy{gap:36px}
.hero__copy h1{line-height:1.1}
.hero__copy .lede{max-width:none}


.head{display:flex; flex-direction:column; gap:18px}
.head--rule{padding-bottom:18px; border-bottom:1px solid var(--ink)}
.quote{font-family:Newsreader,Georgia,serif; font-style:italic; font-size:clamp(26px,2.4vw,32px); line-height:1.35; color:var(--ink)}

.reasons-head{max-width:760px; margin:0 auto; padding:36px 0 16px; text-align:center; display:flex; flex-direction:column; gap:18px; align-items:center}
.quote--big{font-size:clamp(28px,3vw,40px)}
.reasons{display:grid; grid-template-columns:repeat(3,1fr); row-gap:8px; column-gap:32px; border-top:1px solid var(--line); margin-top:24px}
.reasons > li{display:flex; flex-direction:column; gap:10px; padding:32px 0 8px; border-bottom:0; grid-template-columns:none}
.reasons > li::before{font-size:32px}
.reasons h3{font-size:22px}
.reasons-more{text-align:center; padding-top:20px}

.steps-head{padding-bottom:18px; border-bottom:1px solid var(--ink)}
.notes{display:flex; flex-direction:column; gap:4px; padding-top:16px}

.services{display:grid; grid-template-columns:repeat(3,1fr); column-gap:48px; counter-reset:n}
.services > li{
  counter-increment:n; display:flex; flex-direction:column; gap:12px;
  padding:36px 0; border-bottom:1px solid var(--line-2); grid-template-columns:none;
}
.services > li::before{content:counter(n,decimal-leading-zero); font-family:Newsreader,serif; font-size:22px; line-height:1; color:var(--teal-ink)}
.services > li:nth-last-child(-n+3){border-bottom:0}
.services h3{font-size:26px}
.services .link{font-size:18px; margin-top:auto}

.services .frame{order:-1; padding-bottom:16px; padding-left:16px}
.services .frame::before{top:16px; right:16px}

.brands-row{background:var(--ground); padding:32px clamp(24px,3vw,48px)}
.brands{list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px 32px}
.brands li{display:flex; align-items:center}
.brands img{max-height:56px}
.map-credit{font-size:18px; color:var(--muted); padding-top:10px}
.map-credit a{color:var(--muted)}

.form{background:var(--card); border:1px solid var(--line); padding:clamp(24px,3vw,40px); display:flex; flex-direction:column; gap:22px}
.form__lead{font-size:18px; color:var(--ink-2)}
.form__grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px}
.field{display:flex; flex-direction:column; gap:8px}
.field--wide{grid-column:1 / -1}
.field span{font-family:Nunito,sans-serif; font-weight:700; font-size:18px; color:var(--ink)}
.field input,.field textarea{
  font:inherit; font-size:18px; color:var(--ink); background:#fff;
  border:1.5px solid var(--field-line); border-radius:0; padding:14px 16px; min-height:56px;
}
.field textarea{min-height:120px; resize:vertical}
.field input:focus,.field textarea:focus{outline:3px solid var(--purple); outline-offset:2px; border-color:var(--purple)}
.field input::placeholder{color:var(--muted)}
.btn[type="submit"]{font:inherit; font-family:Nunito,sans-serif; font-weight:700; font-size:15px; letter-spacing:.08em; text-transform:uppercase}
.form__hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form__status{font-size:18px; color:var(--ink); border-left:3px solid var(--teal-ink); padding:8px 16px; background:var(--band)}
.form__status[hidden]{display:none}
.form__status--error{border-left-color:var(--purple)}

.faqs{border-top:1px solid var(--ink)}
.faqs details{border-bottom:1px solid var(--line)}
.faqs summary{
  cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:26px 0; font-family:Newsreader,serif; font-weight:500; font-size:24px; line-height:1.25; color:var(--ink);
}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{
  content:"+"; flex:none; width:48px; height:48px; border:1.5px solid var(--ink); border-radius:999px;
  display:flex; align-items:center; justify-content:center; font-family:Newsreader,serif; font-size:28px; line-height:1;
  transition:transform .2s ease;
}
.faqs details[open] summary::after{transform:rotate(45deg)}
.faqs details p{padding:0 0 26px; max-width:60ch; font-size:18px; line-height:1.6}

.posts{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; list-style:none; margin:0; padding:0}
.posts a{text-decoration:none; display:flex; flex-direction:column; gap:16px}
.posts .eyebrow{color:var(--muted)}
.posts h3{font-size:24px}
.posts a:hover h3{color:var(--purple)}

.contact{display:grid; grid-template-columns:140px 1fr; row-gap:14px; column-gap:24px; margin:0}
.contact dt{font-family:Nunito,sans-serif; font-weight:800; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--teal-ink); padding-top:6px}
.contact dd{margin:0}

@media (max-width:1100px){
  .reasons{grid-template-columns:repeat(3,1fr); column-gap:24px}
  .services{grid-template-columns:repeat(2,1fr)}
  .services > li:nth-last-child(-n+3){border-bottom:1px solid var(--line-2)}
  .services > li:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:900px){
  .reasons{grid-template-columns:repeat(2,1fr)}
  .split,.split--narrow,.split--wide{grid-template-columns:1fr}
  .posts{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr; row-gap:4px}
  .contact dd{padding-bottom:10px}
}
@media (max-width:640px){
  .brands{justify-content:center; gap:20px 28px}
  .reasons{grid-template-columns:1fr}
  .reasons > li{padding:22px 0; border-bottom:1px solid var(--line)}
  .reasons > li:last-child{border-bottom:0}
  .form__grid{grid-template-columns:1fr}
  .services{grid-template-columns:1fr}
  .services > li{border-bottom:1px solid var(--line-2)}
  .services > li:last-child{border-bottom:0}
  .btn-row .btn{width:100%}
}
