/* 1. GLOBAL SETTINGS — change the main colours and fonts here. */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;0,900&family=Inter:wght@400;500;600;700&display=swap");
:root { --red:#f20530; --red-dark:#bc001f; --black:#090909; --panel:#121212; --white:#f4f3f0; --muted:#a09fa0; --line:rgba(255,255,255,.15); --heading:"Barlow Condensed","Arial Narrow",sans-serif; --body:"Inter",Arial,sans-serif; --header-height:92px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
[id] { scroll-margin-top:calc(var(--header-height) + 18px); }
[hidden] { display:none!important; }
body { margin:0; overflow-x:hidden; background:var(--black); color:var(--white); font:1rem/1.6 var(--body); }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:.75rem; left:.75rem; z-index:100; padding:.65rem 1rem; background:var(--red); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
:focus-visible { outline:3px solid var(--white); outline-offset:4px; }

/* 2. HEADER — fixed navigation and the compact mobile menu. */
.site-header { position:fixed; inset:0 0 auto; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:1.25rem; min-height:92px; padding:0 5vw; background:#000; border-bottom:1px solid var(--line); transition:.24s ease; }
.site-header.is-scrolled { background:rgba(0,0,0,.97); }
.brand { display:inline-flex; flex-shrink:0; align-items:center; gap:.75rem; line-height:1; }
.brand-logo { display:block; width:280px; height:auto; aspect-ratio:41 / 12; object-fit:contain; }
.brand-mark { display:grid; width:42px; height:42px; place-items:center; background:var(--red); font:italic 900 1.1rem var(--heading); transform:skewX(-8deg); }
.brand-name { font:700 1.25rem var(--heading); letter-spacing:.04em; text-transform:uppercase; }
.brand-name b { color:var(--red); }
.site-nav { display:flex; align-items:center; gap:clamp(.6rem,1.2vw,1.1rem); font:600 .95rem var(--heading); letter-spacing:.06em; text-transform:uppercase; }
.site-nav a { position:relative; padding:.5rem 0; }
.site-nav a:not(.nav-cta)::after { position:absolute; inset:auto 0 0; height:2px; content:""; background:var(--red); transform:scaleX(0); transition:transform .18s ease; }
.site-nav a:not(.nav-cta):hover::after { transform:scaleX(1); }
.site-nav .contact-nav { padding:.55rem .85rem; color:var(--white); border:1px solid var(--red); }
.site-nav .contact-nav::before { position:absolute; top:-4px; right:-4px; width:7px; height:7px; content:""; background:var(--red); }
.nav-cta { padding:.8rem 1.1rem!important; background:var(--red); color:var(--black); }
.menu-button { display:none; width:44px; height:44px; padding:0; background:transparent; border:1px solid var(--line); }
.menu-button span:not(.sr-only) { display:block; width:20px; height:2px; margin:5px auto; background:var(--white); transition:.18s ease; }
.header-tools { display:flex; flex-shrink:0; align-items:center; gap:.65rem; }
.language-switcher { position:relative; }
.language-button { display:flex; align-items:center; justify-content:center; gap:.3rem; min-height:36px; padding:.35rem .45rem; border:1px solid var(--line); background:transparent; color:var(--white); cursor:pointer; font:700 .8rem var(--body); }
.language-button:hover,.language-button[aria-expanded="true"] { border-color:var(--red); background:#171717; }
.language-word { display:none; }
.language-button svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; }
.language-button strong { font-size:.75rem; }
.language-options { position:absolute; top:calc(100% + .65rem); right:0; width:220px; max-width:calc(100vw - 2rem); padding:.4rem; border:1px solid var(--line); background:#121212; box-shadow:0 16px 40px rgba(0,0,0,.6); }
.language-options button { display:flex; align-items:center; gap:.85rem; width:100%; min-height:46px; padding:.6rem .8rem; border:0; background:transparent; color:var(--white); text-align:left; cursor:pointer; }
.language-options button b { min-width:24px; font-size:.75rem; }
.language-options button:hover,.language-options button[aria-pressed="true"] { background:var(--white); color:var(--black); }
.language-button:focus-visible { outline-color:var(--red); }
h1,h2,h3 { overflow-wrap:anywhere; hyphens:auto; }

/* 4. SHARED TYPE AND BUTTONS. */
.section { padding:clamp(5.5rem,10vw,10rem) 5vw; }
.eyebrow { display:flex; align-items:center; gap:.65rem; margin:0 0 1.25rem; color:#d1cfd0; font:700 .9rem var(--heading); letter-spacing:.18em; text-transform:uppercase; }
.eyebrow i { width:34px; height:3px; background:var(--red); }
.hero h1,.section-heading h2,.pricing-copy h2,.contact-copy h2,.closing-copy h2 { margin:0; font-family:var(--heading); font-weight:900; letter-spacing:-.035em; line-height:.82; text-transform:uppercase; }
.section-heading h2,.pricing-copy h2,.contact-copy h2,.closing-copy h2 { font-size:clamp(3.4rem,6vw,6.8rem); }
.section-heading>p:last-child,.pricing-copy>p,.contact-copy>p { max-width:560px; margin:2rem 0 0; color:var(--muted); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; min-height:54px; padding:0 1.45rem; border:0; cursor:pointer; font:700 1rem var(--heading); letter-spacing:.065em; text-transform:uppercase; transition:.18s ease; }
.button-primary { background:var(--red); color:var(--black); }
.button-primary:hover { background:var(--white); color:var(--black); transform:translateY(-3px); }
.text-link { font:700 1rem var(--heading); letter-spacing:.06em; text-transform:uppercase; }
.text-link>span[aria-hidden] { margin-left:.35rem; color:var(--red); }

/* 5. HERO — oversized typography, grid and pricing card. */
.hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,31vw); min-height:100svh; overflow:hidden; background:linear-gradient(90deg,transparent 0 64%,rgba(255,255,255,.035) 64% 64.1%,transparent 64.1%),linear-gradient(135deg,#0b0b0b 0%,#0b0b0b 72%,#180007 100%); }
.hero::before { position:absolute; inset:0 auto 0 62%; width:21vw; content:""; background:var(--red); opacity:.11; transform:skewX(-15deg); }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to bottom,transparent,black 45%,transparent); }
.hero-index { position:absolute; top:50%; right:-.05em; color:transparent; font:900 clamp(17rem,31vw,35rem)/.72 var(--heading); -webkit-text-stroke:1px rgba(255,255,255,.055); transform:translateY(-50%); }
.hero-copy { position:relative; z-index:2; align-self:center; padding:10rem 5vw 9rem; }
.hero h1 { max-width:930px; font-size:clamp(3.6rem,7.7vw,9rem); line-height:.92; }
.hero h1 span { display:block; }
.outline-text { color:transparent; -webkit-text-stroke:1.5px rgba(244,243,240,.72); }
.hero-intro { max-width:610px; margin:2.2rem 0 0; color:#c2c0c1; font-size:clamp(1rem,1.3vw,1.2rem); }
.hero-actions,.closing-actions { display:flex; align-items:center; gap:2rem; margin-top:2.2rem; }
.hero-panel { position:relative; z-index:3; align-self:end; margin:0 5vw 7rem 0; padding:2rem; overflow:hidden; background:rgba(17,17,17,.92); border-top:4px solid var(--red); box-shadow:0 30px 80px rgba(0,0,0,.38); }
.panel-label { margin:0; color:var(--muted); font:700 .85rem var(--heading); letter-spacing:.15em; text-transform:uppercase; }
.rate-block { display:flex; align-items:flex-start; margin-top:1rem; font-family:var(--heading); line-height:1; }
.rate-block>span { margin:.5rem .25rem 0 0; color:var(--red); font-size:2rem; font-weight:700; }
.rate-block strong { font-size:clamp(4.5rem,7vw,7.2rem); letter-spacing:-.06em; }
.rate-block b { align-self:flex-end; margin-bottom:.65rem; color:var(--muted); }
.rate-note { margin:.3rem 0; color:var(--muted); font-size:.83rem; }
.panel-road { display:flex; gap:.65rem; width:calc(100% + 4rem); height:28px; margin:1.8rem -2rem; transform:skewX(-28deg); }
.panel-road i { flex:1; background:var(--red); }
.hero-panel>a { display:flex; justify-content:space-between; font:700 .95rem var(--heading); letter-spacing:.06em; text-transform:uppercase; }
.hero-panel>a span[aria-hidden] { color:var(--red); font-size:1.5rem; }
.hero-footer { position:absolute; right:5vw; bottom:1.6rem; left:5vw; z-index:3; display:flex; gap:1.6rem; color:#747273; font:700 .75rem var(--heading); letter-spacing:.16em; text-transform:uppercase; }
.hero-footer span:not(:last-child)::after { margin-left:1.6rem; color:var(--red); content:"/"; }

/* 6. SERVICES — the two main company activities. */
.services { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:8vw; }
.service-card>div,.pricing>div,.contact-inner>div,.form-row>div { min-width:0; }
.service-list { border-top:1px solid var(--line); }
.service-card { display:grid; grid-template-columns:55px 95px 1fr; gap:clamp(1rem,3vw,2.5rem); padding:2.7rem 0; border-bottom:1px solid var(--line); }
.service-number { color:var(--red); font:700 .85rem var(--heading); }
.service-icon { display:grid; width:82px; height:82px; place-items:center; color:var(--red); background:#171717; transform:skewX(-5deg); transition:.22s ease; }
.service-card:hover .service-icon { color:var(--white); background:var(--red); }
.service-icon svg { width:48px; fill:none; stroke:currentColor; stroke-width:2; transform:skewX(5deg); }
.service-card h3,.process-list h3 { margin:-.4rem 0 .7rem; font:700 clamp(2rem,3vw,3rem)/1 var(--heading); text-transform:uppercase; }
.service-card p,.process-list p { max-width:580px; margin:0; color:var(--muted); }
.service-card ul { display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:1.5rem 0 0; list-style:none; }
.service-card li { padding:.4rem .7rem; color:#c4c2c3; border:1px solid var(--line); font:600 .8rem var(--heading); letter-spacing:.07em; text-transform:uppercase; }

/* 7. PRICING AND CALCULATOR — red rate area and live result card. */
.pricing { display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; color:var(--black); background:var(--red); }
.eyebrow.dark,.pricing-copy>p { color:var(--black); }
.eyebrow.dark i { background:var(--black); }
.price-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:3rem; background:rgba(0,0,0,.25); border:1px solid rgba(0,0,0,.25); }
.price-facts>div { display:flex; flex-direction:column; padding:1rem; background:var(--red); }
.price-facts strong { font:700 clamp(1.5rem,3vw,2.4rem)/1 var(--heading); }
.price-facts span { font-size:.75rem; font-weight:600; text-transform:uppercase; }
.calculator { align-self:center; color:var(--white); background:var(--black); box-shadow:24px 24px 0 rgba(0,0,0,.16); }
.card-top { display:flex; justify-content:space-between; padding:1.15rem 1.5rem; border-bottom:1px solid var(--line); font:700 .85rem var(--heading); letter-spacing:.1em; text-transform:uppercase; }
.live { color:var(--muted); }.live i { display:inline-block; width:7px; height:7px; margin-right:.4rem; background:var(--red); border-radius:50%; }
.calculator form { padding:clamp(1.5rem,4vw,3.4rem); }
.calculator label,.field label { display:block; margin-bottom:.7rem; color:var(--muted); font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.distance-field { display:flex; align-items:center; border-bottom:2px solid var(--white); }
.distance-field:focus-within { border-color:var(--red); }
.distance-field input { width:100%; min-width:0; padding:0; color:var(--white); background:transparent; border:0; outline:0; font:800 clamp(3.5rem,7vw,6rem) var(--heading); }
.distance-field span { color:var(--red); font:700 1.3rem var(--heading); }
.calculator form>p { margin:.5rem 0 1.6rem; color:#a09fa0; font-size:.8rem; }
.calculator form>.distance-error { color:#ff91a6; }
.distance-range { width:100%; height:28px; margin:0 0 2.6rem; cursor:pointer; appearance:none; background:linear-gradient(to right,var(--red) 0 2.5%,#373737 2.5%); background-size:100% 5px!important; background-position:center!important; background-repeat:no-repeat!important; }
.distance-range::-webkit-slider-thumb { width:22px; height:22px; appearance:none; background:var(--red); border:5px solid var(--white); border-radius:50%; }
.distance-range::-moz-range-thumb { width:14px; height:14px; background:var(--red); border:5px solid var(--white); border-radius:50%; }
.distance-range::-moz-range-track { height:5px; background:transparent; }
.estimate-lines { border-top:1px solid var(--line); }
.estimate-lines>div { display:flex; justify-content:space-between; padding:.85rem 0; color:var(--muted); border-bottom:1px solid var(--line); font-size:.88rem; }
.estimate-lines b { color:var(--white); }.estimate-lines .estimate-total { align-items:flex-end; padding:1.6rem 0 .4rem; color:var(--white); border:0; font:700 1rem var(--heading); text-transform:uppercase; }
.estimate-total strong { color:var(--white); font-size:clamp(2.6rem,5vw,4.6rem); line-height:.9; }
.calculator form>.calculator-note { margin:1.5rem 0 0; }

/* 8. PROCESS — three numbered customer steps. */
.process { display:grid; grid-template-columns:.82fr 1.18fr; gap:8vw; }
.process-list { padding:0; margin:0; list-style:none; border-top:1px solid var(--line); }
.process-list li { display:grid; grid-template-columns:70px 1fr; gap:1.5rem; padding:2rem 0; border-bottom:1px solid var(--line); }
.process-list>li>span { color:var(--red); font:700 1rem var(--heading); }
.process-list h3 { margin-top:0; font-size:clamp(1.8rem,2.5vw,2.6rem); }

/* 9. CONTACT — bold red stage and a high-contrast form card. */
.contact { position:relative; overflow:hidden; background:linear-gradient(110deg,var(--red) 0 44%,#0d0d0d 44.1% 100%); border-top:1px solid rgba(255,255,255,.18); }
.contact-stripe { display:flex; align-items:center; justify-content:center; gap:1.8rem; min-width:max-content; padding:.75rem 1rem; color:var(--black); background:var(--white); font:800 .85rem var(--heading); letter-spacing:.15em; text-transform:uppercase; }
.contact-stripe i { width:6px; height:6px; background:var(--red); transform:rotate(45deg); }
.contact-inner { position:relative; display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }
.contact-inner::after { position:absolute; top:8%; left:34%; width:16vw; height:140%; content:""; border:1px solid rgba(255,255,255,.14); transform:rotate(15deg); }
.contact-copy,.contact-card { position:relative; z-index:2; }
.contact-index { display:inline-block; margin-bottom:3rem; padding:.5rem .75rem; color:var(--white); background:var(--black); font:800 .8rem var(--heading); letter-spacing:.14em; }
.contact-copy .eyebrow,.contact-copy>p { color:var(--black); }
.contact-copy .eyebrow i { background:var(--black); }
.contact-copy h2 { color:var(--black); font-size:clamp(4rem,6.7vw,7.5rem); }
.direct-email { position:relative; display:flex; flex-direction:column; margin-top:3rem; padding:1.3rem 3rem 1.3rem 0; color:var(--black); border-top:2px solid var(--black); border-bottom:2px solid var(--black); }
.direct-email small { font:700 .78rem var(--heading); letter-spacing:.12em; text-transform:uppercase; }
.direct-email strong { font:800 clamp(1.35rem,2.3vw,2.35rem)/1.1 var(--heading); overflow-wrap:anywhere; }
.direct-email>span { position:absolute; right:.2rem; top:50%; font-size:2rem; transform:translateY(-50%); }
.contact-card { align-self:center; color:var(--black); background:var(--white); border:4px solid var(--red); box-shadow:18px 18px 0 var(--red),18px 18px 0 1px rgba(255,255,255,.25); }
.request-badge { position:absolute; top:-26px; right:24px; z-index:3; display:flex; align-items:center; background:var(--black); color:var(--white); box-shadow:8px 8px 0 rgba(0,0,0,.2); font-family:var(--heading); transform:skewX(-8deg); }
.request-badge span { padding:.65rem .75rem; background:var(--red); color:var(--black); font-weight:900; }.request-badge strong { padding:.65rem 1rem; letter-spacing:.12em; }
.contact-card .card-top { padding:1.4rem 1.6rem; color:var(--black); border-color:rgba(0,0,0,.18); }
.contact-card .card-top span:first-child { font-size:1.1rem; }.contact-card .card-top span:last-child { color:#6b6b6b; font-size:.7rem; }
.contact-form { padding:clamp(1.5rem,4vw,3.2rem); }
.form-fields { min-inline-size:0; padding:0; margin:0; border:0; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.field { margin-bottom:1.4rem; }.field label { color:#4e4e4e; }.field label span { color:#666; }
.field input,.field select,.field textarea { width:100%; padding:.85rem 0; color:var(--black); background:transparent; border:0; border-bottom:2px solid #c6c6c6; border-radius:0; outline:0; transition:border-color .18s ease; }
.field input::placeholder,.field textarea::placeholder { color:#666; }.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--red); }
.field select { appearance:none; cursor:pointer; padding-right:30px; text-overflow:ellipsis; background-image:linear-gradient(45deg,transparent 50%,var(--red) 50%),linear-gradient(135deg,var(--red) 50%,transparent 50%); background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%; background-size:5px 5px; background-repeat:no-repeat; }
.field textarea { min-height:130px; resize:vertical; }
.form-submit { width:100%; color:var(--white); background:var(--black); border-left:7px solid var(--red); }
.form-submit:hover { color:var(--black); background:var(--red); transform:translateY(-3px); }
.form-help { margin:1rem 0 0; color:#686868; font-size:.8rem; text-align:center; }.form-help.is-ready { color:var(--red-dark); font-weight:600; }
.copy-request { display:block; min-height:44px; margin:.75rem auto 0; padding:.5rem 1rem; border:1px solid #666; background:transparent; color:var(--black); cursor:pointer; }
.copy-fallback { width:100%; min-height:220px; margin-top:1rem; padding:.75rem; border:1px solid #666; color:var(--black); background:#fff; }
.contact-card :focus-visible { outline-color:var(--red-dark); }

/* 10. CLOSING AND FOOTER. */
.closing-section { position:relative; min-height:620px; padding:clamp(6rem,12vw,12rem) 5vw; overflow:hidden; background:#0a0a0a; }
.closing-section::before { position:absolute; inset:-30% auto -30% 58%; width:17vw; content:""; background:var(--red); transform:rotate(14deg); }
.closing-copy { position:relative; z-index:2; }.closing-copy h2 { font-size:clamp(5rem,10vw,10rem); }.closing-copy h2 em { color:var(--red); font-style:normal; }
.closing-word { position:absolute; right:-.04em; bottom:-.18em; color:transparent; font:900 clamp(12rem,28vw,30rem)/1 var(--heading); -webkit-text-stroke:1px rgba(255,255,255,.08); }
.site-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:2rem; padding:2rem 5vw; background:#000; border-top:1px solid var(--line); }
.site-footer p,.site-footer>a:not(.brand) { color:var(--muted); font:600 .8rem var(--heading); letter-spacing:.08em; text-transform:uppercase; }
.site-footer>a:not(.brand):hover { color:var(--red); }

/* 11. SCROLL REVEAL ANIMATION. */
.reveal { opacity:1; transform:none; }
.reveal-enabled .reveal { opacity:0; transform:translateY(28px); transition:opacity .6s ease,transform .6s cubic-bezier(.2,.65,.25,1); }
.reveal-enabled .reveal.is-visible { opacity:1; transform:none; }

/* Keep navigation visible on computers; a second header row fits tablets. */
@media (max-width:1100px) {
  .brand-logo { width:230px; }
}
@media (min-width:721px) and (max-width:980px) {
  :root { --header-height:136px; }
  .site-header { display:grid; grid-template-columns:1fr auto; grid-template-rows:78px auto; gap:0; min-height:var(--header-height); padding-bottom:.5rem; }
  .brand { grid-column:1; grid-row:1; justify-self:start; }
  .header-tools { grid-column:2; grid-row:1; justify-self:end; }
  .site-nav { grid-column:1 / -1; grid-row:2; justify-content:space-between; gap:.8rem; }
  .site-nav a { white-space:nowrap; }
}

/* 12. TABLET LAYOUT. */
@media (max-width:980px) {
  .hero { grid-template-columns:1fr; }.hero-copy { padding-bottom:3rem; }.hero-panel { width:min(90%,620px); margin:0 5vw 7rem; }
  .services,.pricing,.process,.contact-inner { grid-template-columns:1fr; gap:4rem; }
  .contact { background:linear-gradient(165deg,var(--red) 0 41%,#0d0d0d 41.1% 100%); }
  .contact-copy { max-width:690px; }.contact-inner::after { display:none; }
}

/* 13. MOBILE LAYOUT. */
@media (max-width:720px) {
  :root { --header-height:76px; }
  .site-header { min-height:var(--header-height); gap:.5rem; }.brand-logo { width:clamp(160px,49vw,210px); }.menu-button { display:block; flex-shrink:0; cursor:pointer; }
  .header-tools { gap:.4rem; }
  .language-button { min-height:44px; }
  .menu-button[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }.menu-button[aria-expanded="true"] span:nth-child(2) { transform:translateY(-3.5px) rotate(-45deg); }
  .site-nav { position:fixed; inset:76px 0 auto; display:grid; gap:0; padding:0 5vw 1rem; max-height:calc(100dvh - 76px); overflow-y:auto; visibility:hidden; background:#000; border-bottom:1px solid var(--line); opacity:0; transform:translateY(-10px); transition:.18s ease; }
  .site-nav.is-open { visibility:visible; opacity:1; transform:none; }.site-nav a { padding:.8rem 0; border-bottom:1px solid var(--line); }.site-nav .contact-nav { margin-top:.5rem; padding:.65rem .85rem; }.nav-cta { margin-top:.6rem; text-align:center; }
  .hero-copy { padding-top:9rem; }.hero h1 { font-size:clamp(2.1rem,12vw,5.4rem); }.hero-actions,.closing-actions { align-items:flex-start; flex-direction:column; gap:1.5rem; }.hero-panel { padding:1.5rem; }.hero-footer { gap:.8rem; }.hero-footer span:not(:last-child)::after { margin-left:.8rem; }
  .button { max-width:100%; }
  .service-card { grid-template-columns:42px 1fr; }.service-icon,.service-card>div:last-child { grid-column:2; }.service-icon { width:72px; height:72px; }
  .price-facts,.form-row { grid-template-columns:1fr; }.price-facts>div { flex-direction:row; justify-content:space-between; }.calculator { box-shadow:12px 12px 0 rgba(0,0,0,.16); }.estimate-total { flex-direction:column; gap:.5rem; }
  .process-list li { grid-template-columns:45px 1fr; gap:1rem; }
  .contact { background:linear-gradient(170deg,var(--red) 0 37%,#0d0d0d 37.1% 100%); }.contact-copy { padding:1.5rem; background:var(--red); }.contact-stripe { justify-content:flex-start; overflow:hidden; }.contact-card { border-width:3px; box-shadow:9px 9px 0 var(--red); }.request-badge { right:12px; }.contact-card .card-top span:last-child { display:none; }
  .closing-section { min-height:520px; }.site-footer { align-items:flex-start; flex-direction:column; padding-bottom:6rem; }
}

/* Accessibility: removes motion when the visitor asks for reduced motion. */
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } .reveal-enabled .reveal { opacity:1; transform:none; } }

/* With JavaScript disabled, content and smartphone navigation remain usable. */
@media (max-width:720px) {
  html:not(.js-enabled) .site-header { position:relative; flex-wrap:wrap; }
  html:not(.js-enabled) .menu-button { display:none; }
  html:not(.js-enabled) .site-nav { position:static; width:100%; visibility:visible; opacity:1; transform:none; max-height:none; }
}
