:root{
  --black: #0D0D0D;
  --black-soft: #171717;
  --white: #FFFFFF;
  --ivory: #F5F5F4;
  --line: #E3E2DF;
  --text: #1A1A1A;
  --text-muted: #58585A;
  --red: #D71A21;
  --red-dk: #A9131A;
  --font: 'Inter', -apple-system, sans-serif;
  --font-head: 'Oswald', -apple-system, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--white);line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
@media (max-width:700px){.wrap{padding:0 20px;}}

h1,h2,h3{font-family:var(--font-head);font-weight:700;margin:0;color:var(--black);text-transform:uppercase;letter-spacing:0.01em;}

/* header */
.site-header{
  background:var(--white);
  border-bottom:2px solid var(--black);
  position:sticky;top:0;z-index:50;
}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{font-family:var(--font-head);font-weight:700;font-size:20px;color:var(--black);display:flex;align-items:center;}
.logo__img{height:32px;width:auto;}
.nav{display:flex;align-items:center;gap:32px;}
.nav a{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;color:var(--text);}
.nav a:hover{color:var(--red);}
.nav a.nav__phone{
  font-weight:700;color:var(--red);border-left:2px solid var(--black);padding-left:24px;
}
.burger{
  display:none;background:none;border:none;padding:8px;
  appearance:none;-webkit-appearance:none;
  outline:none;cursor:pointer;
  line-height:0;
}
.burger svg{width:24px;height:24px;color:var(--black);display:block;}
.mobile-nav{display:none;}
@media (max-width:860px){
  .nav{display:none;}
  .burger{display:block;}
  .mobile-nav{display:block;max-height:0;overflow:hidden;transition:max-height .25s ease;border-top:2px solid var(--black);}
  .mobile-nav.is-open{max-height:320px;}
  .mobile-nav__inner{display:flex;flex-direction:column;padding:16px 0;}
  .mobile-nav a{padding:12px 0;font-size:15px;font-weight:600;text-transform:uppercase;border-bottom:1px solid var(--line);text-align:center;}
.mobile-nav a:last-child{color:var(--red);}
}

/* hero */
.hero{
  position:relative;
  min-height:560px;
  display:flex;align-items:center;
  background:
    linear-gradient(90deg, rgba(13,13,13,0.94) 0%, rgba(13,13,13,0.75) 55%, rgba(13,13,13,0.4) 100%),
    var(--black) url('hero-bg.jpg') center 72%/cover no-repeat;
  color:var(--white);
}
.hero__inner{max-width:820px;padding-top:80px;padding-bottom:80px;}
@media (max-width:700px){
  .hero{min-height:0;}
  .hero__inner{padding-top:56px;padding-bottom:40px;text-align:center;margin:0 auto;}
  .hero p{margin-left:auto;margin-right:auto;}
  .hero__actions{justify-content:center;}
}
.hero__eyebrow{
  font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:#F0A5A8;font-weight:700;margin-bottom:18px;
}
.hero h1{color:var(--white);font-size:clamp(34px,4.8vw,56px);line-height:1.08;margin-bottom:20px;}
.hero p{font-size:17px;color:#D8D8D6;max-width:48ch;margin-bottom:32px;text-transform:none;}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;border-radius:2px;
  border:2px solid transparent;transition:all .15s ease;
}
.btn--gold{background:var(--red);color:var(--white);border-color:var(--red);}
.btn--gold:hover{background:var(--red-dk);border-color:var(--red-dk);}
.btn--outline{border-color:var(--white);color:var(--white);}
.btn--outline:hover{background:var(--white);color:var(--black);}
@media (max-width:480px){
  .hero__actions{flex-direction:column;}
  .hero__actions .btn{width:100%;}
}

/* split section (about, service rows) */
.split{padding:88px 0;}
.split__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split__grid--rev .split__media{order:2;}
.split__media{aspect-ratio:4/3;background:var(--ivory);border:2px solid var(--black);display:flex;align-items:center;justify-content:center;color:#9A9A98;font-size:13px;}
.split__media img{width:100%;height:100%;object-fit:cover;}
.split__eyebrow{font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:14px;display:block;}
.split h2{font-size:clamp(24px,2.8vw,34px);margin-bottom:20px;line-height:1.15;}
.split p{color:var(--text-muted);font-size:15.5px;margin-bottom:26px;max-width:60ch;}
.link-arrow{color:var(--black);font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:0.03em;display:inline-flex;align-items:center;gap:6px;}
.link-arrow:hover{color:var(--red);}
@media (max-width:860px){
  .split{padding:56px 0;}
  .split__grid,.split__grid--rev{grid-template-columns:1fr;gap:32px;}
  .split__grid--rev .split__media{order:0;}
}

/* services section head */
.section-head{text-align:center;max-width:640px;margin:0 auto 56px;}
.section-head .split__eyebrow{justify-content:center;display:block;}
.section-head h2{font-size:clamp(26px,3vw,36px);}

/* service rows */
.services{background:var(--ivory);padding:88px 0;}
@media (max-width:700px){.services{padding:52px 0;}}
.service-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:64px;}
.service-row:last-child{margin-bottom:0;}
.service-row--rev .service-row__media{order:2;}
.service-row__media{aspect-ratio:16/10;background:var(--white);border:2px solid var(--black);display:flex;align-items:center;justify-content:center;color:#9A9A98;font-size:13px;}
.service-row__media img{width:100%;height:100%;object-fit:cover;}
.service-row h3{font-size:22px;margin-bottom:14px;}
.service-row p{color:var(--text-muted);font-size:15px;margin-bottom:18px;max-width:44ch;text-transform:none;}
@media (max-width:860px){
  .service-row,.service-row--rev{grid-template-columns:1fr;gap:24px;margin-bottom:48px;}
  .service-row--rev .service-row__media{order:0;}
}

/* trust / accreditation strip */
.trust-strip{padding:56px 0;border-top:2px solid var(--black);border-bottom:2px solid var(--black);}
.trust-strip__row{display:flex;justify-content:center;flex-wrap:wrap;gap:48px;}
.trust-badge{display:flex;align-items:center;gap:12px;flex:none;}
.trust-badge svg{width:30px;height:30px;color:var(--red);flex-shrink:0;}
.trust-badge__label{font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;color:var(--black);line-height:1.35;}
@media (max-width:560px){
  .trust-strip{padding:36px 0;}
  .trust-strip__row{
    flex-direction:column;align-items:flex-start;gap:22px;
    width:fit-content;margin:0 auto;
  }
  .trust-badge{flex:none;}
  .trust-badge__label{text-align:left;}
}

/* quote form (full) */
.quote{padding:88px 0;}
@media (max-width:700px){.quote{padding:52px 0;}}
.quote__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;}
.quote__aside h2{font-size:28px;margin-bottom:16px;}
.quote__aside p{color:var(--text-muted);font-size:15px;margin-bottom:24px;max-width:40ch;text-transform:none;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field--full{grid-column:1/-1;}
.field label{font-size:12px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:0.03em;}
.field input,.field textarea{
  border:2px solid var(--line);padding:12px 14px;font-family:var(--font);font-size:14px;color:var(--text);
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--black);}
.field textarea{min-height:90px;resize:vertical;}
.form-status{font-size:13.5px;margin-top:14px;display:none;font-weight:600;}
.form-status.is-visible{display:block;}
.form-status.is-success{color:var(--black);}
.form-status.is-error{color:var(--red);}
@media (max-width:860px){
  .quote__grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
}

/* footer */
.site-footer{background:var(--black-soft);color:#B2B2B0;padding:56px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;margin-bottom:36px;}
.footer-brand{color:var(--white);font-family:var(--font-head);font-size:19px;font-weight:700;margin-bottom:12px;text-transform:uppercase;}
.footer-desc{font-size:13.5px;max-width:32ch;text-transform:none;}
.footer-social{display:flex;gap:12px;margin-top:18px;}
.footer-social a{
  width:36px;height:36px;color:#B2B2B0;
  display:flex;align-items:center;justify-content:center;
  transition:color .15s ease;
}
.footer-social a:hover{color:var(--red);}
.footer-social svg{width:27px;height:27px;}
.footer-col h4{color:var(--white);font-size:12.5px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:16px;}
.footer-col a{display:block;width:fit-content;font-size:13.5px;margin-bottom:10px;color:#B2B2B0;}
.footer-col p{display:block;font-size:13.5px;margin-bottom:10px;color:#B2B2B0;}
.footer-col a:hover{color:var(--red);}
.footer-bottom{
  border-top:1px solid #2C2C2A;padding-top:22px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:#7A7A78;
}
.back-to-top{color:#7A7A78;text-transform:uppercase;font-weight:600;letter-spacing:0.03em;}
.back-to-top:hover{color:var(--white);}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
