*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth
}
body{
  margin:0;
  background:#faf9f6;
  color:#142b38;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.7
}
a{
  color:inherit;
  text-underline-offset:5px
}
button,input,select,textarea{
  font:inherit
}
a,button{
  -webkit-tap-highlight-color:transparent
}
img{
  display:block;
  max-width:100%
}
h1,h2,h3,p{
  margin:0
}
h1,h2,h3{
  font-family:Georgia,serif;
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.035em
}
h1{
  font-size:clamp(2.8rem,5.5vw,5rem)
}
h2{
  font-size:clamp(2.1rem,3.7vw,3.4rem)
}
h3{
  font-size:1.8rem
}
p{
  color:#586772
}
.wrap{
  width:min(1180px,calc(100% - 64px));
  margin:auto
}
.top{
  background:#102a39;
  color:#ddd9cd;
  font-size:11px;
  letter-spacing:.13em;
  padding:9px 0;
  text-align:center;
  text-transform:uppercase
}
.header{
  background:#fff;
  border-bottom:1px solid #e7e7df
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:100px;
  gap:24px
}
.logo{
  width:160px
}
.navlinks{
  display:flex;
  gap:28px;
  align-items:center
}
.navlinks a{
  text-decoration:none;
  font-size:13px
}
.navlinks a:hover{
  color:#8b682f
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  background:#a17b42;
  color:white;
  text-decoration:none;
  padding:15px 25px;
  min-height:52px;
  font-size:13px;
  border:1px solid #a17b42;
  cursor:pointer
}
.btn:hover{
  background:#826030
}
.menu{
  display:none;
  background:none;
  border:1px solid #abb5b8;
  padding:10px 14px
}
.eyebrow{
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#a17b42;
  font-weight:700;
  margin-bottom:20px
}
.hero{
  background:#102a39;
  color:white;
  position:relative;
  overflow:hidden
}
.hero .wrap{
  min-height:615px;
  display:flex;
  align-items:center;
  position:relative
}
.hero-photo{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#102a39 0%,#102a39ee 29%,#102a3980 62%,#102a3930),url('/assets/birmingham.webp') center/cover
}
.hero-copy{
  width:660px;
  padding:70px 0
}
.hero h1{
  max-width:650px
}
.hero h1 em{
  color:#dbc6a0;
  font-weight:400
}
.hero p{
  color:#d1dadd;
  max-width:470px;
  margin-top:25px;
  line-height:1.8
}
.hero .eyebrow{
  color:#dfc99f
}
.actions{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  margin-top:32px
}
.quiet{
  font-size:13px
}
.trust{
  border-bottom:1px solid #e0e1db;
  background:white
}
.trust .wrap{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  font-size:12px;
  color:#53636b
}
.trust span:before{
  content:'✓';
  color:#a17b42;
  margin-right:10px
}
.section{
  padding:88px 0
}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:38px
}
.section-head p{
  max-width:360px;
  font-size:14px
}
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px
}
.card{
  text-decoration:none
}
.card .image{
  overflow:hidden;
  aspect-ratio:1.3;
  background:#e9e9e2
}
.card img{
  height:100%;
  width:100%;
  object-fit:cover;
  transition:transform .3s
}
.card:hover img{
  transform:scale(1.035)
}
.card .row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:23px 0 12px
}
.card .arrow{
  font-size:23px;
  color:#a17b42
}
.card p{
  font-size:14px;
  max-width:330px
}
.commercial{
  background:#eaece7
}
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center
}
.split p{
  margin-top:22px;
  max-width:470px;
  font-size:15px
}
.editorial{
  height:390px;
  width:100%;
  object-fit:cover
}
.textlink{
  display:inline-block;
  margin-top:27px;
  font-size:13px
}
.steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  margin-top:42px
}
.step{
  border-top:1px solid #cecfc6;
  padding-top:20px
}
.step small{
  color:#a17b42
}
.step h3{
  font-size:1.45rem;
  margin:14px 0
}
.step p{
  font-size:14px
}
.contact-band{
  background:#102a39;
  color:white;
  padding:65px 0
}
.contact-band .wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px
}
.contact-band p{
  color:#bdcbd1;
  margin-top:15px;
  font-size:14px
}
.footer{
  background:white;
  padding:45px 0 80px
}
.footer-top{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:40px
}
.footer p,.footer a{
  font-size:12px
}
.footer h3{
  font-family:Arial,sans-serif;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:17px
}
.footer a{
  display:block;
  text-decoration:none;
  margin:7px 0
}
.footer .social{
  display:inline-block;
  margin-right:20px;
  text-decoration:underline
}
.fine{
  border-top:1px solid #e4e5df;
  padding-top:22px;
  margin-top:35px;
  font-size:10px;
  color:#718088
}
.fine a{
  display:inline;
  font-size:inherit
}
.whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#165b44;
  color:white;
  box-shadow:0 4px 18px #102a3930;
  z-index:20
}
.whatsapp svg{
  width:26px;
  height:26px
}
.pagehero{
  padding:75px 0 60px;
  background:#102a39;
  color:white
}
.pagehero h1{
  max-width:850px;
  font-size:clamp(2.5rem,5vw,4.2rem)
}
.pagehero p{
  color:#c7d2d7;
  max-width:650px;
  margin-top:23px
}
.bodytext p{
  margin-top:20px
}
.bodytext ul{
  padding-left:20px;
  color:#586772
}
.faq{
  max-width:800px;
  margin-top:40px
}
details{
  border-bottom:1px solid #d6dad5;
  padding:18px 0
}
summary{
  cursor:pointer;
  font-size:15px;
  color:#142b38
}
details p{
  font-size:14px;
  padding:12px 0
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:70px
}
.contact-grid h2{
  margin-bottom:24px
}
.contact-grid p{
  margin-bottom:20px
}
.contact-grid a{
  display:inline-block
}
.enquiry{
  background:#fff;
  padding:35px;
  border:1px solid #e3e3db
}
label{
  display:block;
  font-size:12px;
  margin-bottom:7px
}
input,select,textarea{
  width:100%;
  padding:13px;
  border:1px solid #cbd2d0;
  background:#fff;
  border-radius:0
}
textarea{
  min-height:110px;
  resize:vertical
}
.fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
.full{
  grid-column:1/-1
}
.enquiry small{
  display:block;
  font-size:11px;
  color:#687680;
  margin-top:12px
}
.skip{
  position:absolute;
  left:-9999px
}
.skip:focus{
  left:10px;
  top:10px;
  z-index:50;
  background:white;
  padding:10px
}
:focus-visible{
  outline:3px solid #ad8241;
  outline-offset:5px
}
[hidden]{
  display:none!important
}
@media(max-width:850px){
  .navlinks{
  gap:17px
}
.split{
  gap:35px
}
.hero .wrap{
  min-height:560px
}
.hero-copy{
  max-width:600px
}
.footer-top{
  gap:20px
}
.contact-grid{
  gap:35px
}

}
@media(max-width:680px){
  .wrap{
  width:calc(100% - 40px)
}
.top{
  font-size:9px;
  letter-spacing:.08em
}
.nav{
  min-height:83px
}
.logo{
  width:133px
}
.menu{
  display:block
}
.navlinks{
  display:none;
  position:absolute;
  top:110px;
  left:0;
  right:0;
  background:#fff;
  padding:25px;
  z-index:30;
  border-bottom:1px solid #ddd
}
.navlinks.open{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:20px
}
.navlinks a{
  font-size:15px
}
.hero .wrap{
  min-height:570px
}
.hero-photo{
  background-position:65% center;
  background-image:linear-gradient(90deg,#102a39ed,#102a3990),url('/assets/birmingham.webp')
}
.hero-copy{
  padding:64px 0 70px
}
.hero p{
  font-size:14px;
  max-width:320px
}
.actions{
  gap:22px
}
.trust .wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 20px;
  padding:18px 0;
  font-size:10px
}
.trust span:last-child{
  display:none
}
.section{
  padding:58px 0
}
.section-head{
  display:block;
  margin-bottom:28px
}
.section-head p{
  margin-top:18px
}
.cards{
  grid-template-columns:1fr;
  gap:35px
}
.card .image{
  aspect-ratio:1.65
}
.card .row{
  margin:17px 0 8px
}
.card p{
  max-width:100%
}
.split,.contact-grid{
  grid-template-columns:1fr;
  gap:32px
}
.editorial{
  height:260px
}
.steps{
  grid-template-columns:1fr;
  gap:24px;
  margin-top:30px
}
.step h3{
  margin:10px 0
}
.contact-band{
  padding:48px 0
}
.contact-band .wrap{
  display:block
}
.contact-band .btn{
  margin-top:25px
}
.footer-top{
  grid-template-columns:1fr 1fr;
  gap:30px
}
.footer-top>div:first-child{
  grid-column:1/-1
}
.footer{
  padding-top:35px
}
.footer .logo{
  width:130px
}
.pagehero{
  padding:55px 0
}
.fields{
  grid-template-columns:1fr
}
.enquiry{
  padding:24px
}
.whatsapp{
  right:16px;
  bottom:16px
}
.fine{
  padding-right:40px
}

}
@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto
}
.card img{
  transition:none
}

}

.logo{
  height:auto
}
.header{
  position:relative;
  z-index:30
}
@media(max-width:680px){
  .navlinks{
  top:100%
}

}

.hero h1{
  font-size:clamp(2.75rem,4.8vw,4.15rem)
}
.hero .hero-copy{
  width:720px
}
.hero h1{
  max-width:720px
}
.breadcrumbs{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:11px;
  color:#c7d2d7;
  margin-bottom:28px
}
.breadcrumbs a{
  text-decoration:underline
}
.related{
  margin-top:28px;
  font-size:13px
}
.related a{
  margin-right:20px;
  display:inline-block
}
.bodytext li{
  margin-bottom:7px
}
.pagehero .eyebrow{
  color:#d6bd92
}
@media(max-width:680px){
  .hero h1{
  font-size:clamp(2.55rem,9.6vw,3.5rem)
}
.hero .hero-copy{
  width:100%
}
.hero-photo{
  background-image:linear-gradient(90deg,#102a39ed,#102a3990),url('/assets/birmingham-small.webp')
}
.breadcrumbs{
  margin-bottom:23px
}
.footer a{
  overflow-wrap:anywhere
}

}



/* Readable gold accents and comfortably sized controls. */
.btn { background:#88652e; border-color:#88652e; font-size:14px; }
.eyebrow, .step small { color:#80602b; }
.hero .eyebrow { color:#dfc99f; }
.pagehero .eyebrow { color:#d6bd92; }
.card .arrow { color:#80602b; }
.fine { color:#586772; font-size:11px; }
.footer p, .footer a { font-size:13px; }
.footer a { min-height:24px; padding:2px 0; }
.footer .fine a { min-height:0; padding:0; font-size:inherit; }
.navlinks a { font-size:14px; min-height:32px; display:inline-flex; align-items:center; }
.navlinks a[aria-current="page"] { color:#80602b; text-decoration:underline; text-decoration-thickness:1px; }
.quiet, .textlink { min-height:32px; display:inline-flex; align-items:center; }
label { font-size:14px; }
.enquiry small { font-size:12px; }
#enquiry-status { border-left:3px solid #88652e; padding:12px 14px; margin-top:18px; font-size:14px; background:#f6f5f0; }
summary { min-height:36px; }
.pagehero h1 em { color:#dbc6a0; }
@media (max-width:900px) { .navlinks { gap:16px; } .navlinks a { font-size:13px; } }
@media (max-width:760px) {
  .menu { display:block; }
  .navlinks { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; padding:22px; border-bottom:1px solid #ddd; }
  .navlinks.open { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
  .navlinks a { font-size:16px; min-height:44px; }
}
@media (max-width:360px) { .top { font-size:8px; } .hero h1 { font-size:2.45rem; } .hero-copy { padding:48px 0; } .hero .wrap { min-height:540px; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none!important; transition:none!important; } }
@media print { .top,.navlinks,.menu,.whatsapp,.contact-band { display:none!important; } .hero,.pagehero { background:white;color:#142b38; } .hero-photo { display:none; } .hero p,.pagehero p { color:#142b38; } .section { padding:24px 0; } .header { border:0; } }
/* Prevent long contact details and native form controls from widening narrow screens. */
.btn { max-width:100%; text-align:center; }
.contact-grid a { max-width:100%; overflow-wrap:anywhere; }
.cards > *, .split > *, .contact-grid > *, .fields > * { min-width:0; }
select { min-width:0; }

@media(max-width:760px){.top{font-size:10px;letter-spacing:.09em}.breadcrumbs{font-size:12px}}

/* Compact, decorative icons keep the visible link labels accessible. */
.link-icon { width:20px; height:20px; flex:0 0 20px; vertical-align:middle; }
.icon-link { display:inline-flex; align-items:center; gap:9px; }
.footer .social.icon-link { display:inline-flex; align-items:center; gap:8px; }
.btn.icon-link { gap:14px; }
