@font-face {
  font-family: "Benzin";
  src: url("./assets/fonts/Benzin-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Benzin";
  src: url("./assets/fonts/Benzin-Semibold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Benzin";
  src: url("./assets/fonts/Benzin-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --ink: #12231f;
  --ink-2: #1b342e;
  --paper: #f3f0e8;
  --white: #fffdf7;
  --brand: #0d7b4f;
  --brand-dark: #075439;
  --lime: #b9f26c;
  --orange: #ff6b35;
  --blue: #72b9ca;
  --line: rgba(18, 35, 31, .16);
  --container: 1240px;
  --display: "Benzin", sans-serif;
  --body: "Manrope", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { max-width: 100%; display: block; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: var(--ink); color: white; padding: 12px 18px; transition: top .2s; }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; top: 0; inset-inline: 0; z-index: 50; color: white; transition: background .25s, box-shadow .25s; }
.site-header.scrolled { background: rgba(18,35,31,.96); box-shadow: 0 8px 35px rgba(0,0,0,.15); backdrop-filter: blur(14px); }
.header-inner { min-height: 86px; display: grid; grid-template-columns: 112px 1fr auto; align-items: center; gap: 28px; }
.brand { width: auto; height: 68px; display: inline-flex; align-items: center; justify-self: start; }
.brand img { width: auto; height: 68px; max-width: none; object-fit: contain; filter: brightness(0) invert(1); }
.desktop-nav { justify-self: center; display: flex; gap: 28px; }
.desktop-nav a { font-size: 13px; font-weight: 700; text-decoration: none; opacity: .8; transition: opacity .2s; }
.desktop-nav a:hover { opacity: 1; }
.header-cta { display: inline-flex; gap: 18px; align-items: center; padding: 14px 18px; border: 1px solid rgba(255,255,255,.45); text-decoration: none; font-weight: 700; font-size: 13px; }
.header-cta span { color: var(--lime); font-size: 18px; }
.menu-button, .mobile-nav { display: none; }

.hero { position: relative; min-height: max(760px, 100svh); padding: 118px 0 96px; color: white; background: var(--ink); display: grid; align-items: center; overflow: hidden; isolation: isolate; }
.hero-gallery,.hero-slide,.hero-shade { position: absolute; inset: 0; }
.hero-gallery { z-index: -2; background: #0b1b17; }
.hero-slide { margin: 0; opacity: 0; visibility: hidden; transform: scale(1.035); transition: opacity 1.15s ease, visibility 1.15s ease, transform 8s ease; }
.hero-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-slide:first-child img { object-position: 50% 43%; }
.hero-slide figcaption { position: absolute; left: -9999px; }
.hero-shade { z-index: 3; background: linear-gradient(90deg, rgba(8,23,18,.84) 0%, rgba(8,23,18,.61) 46%, rgba(8,23,18,.24) 75%, rgba(8,23,18,.44) 100%), linear-gradient(0deg, rgba(8,23,18,.58) 0%, transparent 48%, rgba(8,23,18,.25) 100%); }
.hero::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.2; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,black,transparent 68%); }
.hero-stage { position: relative; display:flex; align-items:center; }
.hero-glass { width:min(830px, 76%); padding:44px 48px 46px; border:1px solid rgba(255,255,255,.27); background:linear-gradient(135deg,rgba(10,35,27,.66),rgba(12,31,27,.42)); box-shadow:0 28px 80px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.12); backdrop-filter:blur(17px) saturate(1.15); -webkit-backdrop-filter:blur(17px) saturate(1.15); }
.eyebrow { margin: 0 0 24px; display:flex; align-items:center; gap:12px; font-size:11px; text-transform:uppercase; letter-spacing:.16em; font-weight:700; }
.eyebrow span { width: 30px; height: 2px; background: var(--lime); }
.hero h1, .section-head h2, .faq-title h2 { margin:0; font-family:var(--display); text-transform:uppercase; font-weight:700; line-height:1.04; letter-spacing:-.025em; }
.hero h1 { max-width:720px; font-size:clamp(36px,4.2vw,60px); line-height:1.08; }
.hero h1 em, .section-head h2 em { color:var(--lime); font-style:normal; }
.hero-lead { max-width:660px; margin:24px 0 0; color:rgba(255,255,255,.76); font-size:16px; line-height:1.65; }
.hero-actions { display:grid; grid-template-columns:1fr 1.16fr; gap:12px; margin-top:32px; }
.hero-action { min-height:74px; padding:13px 16px; display:grid; grid-template-columns:26px 1fr auto; gap:10px; align-items:center; color:var(--ink); text-decoration:none; font-size:12px; line-height:1.35; font-weight:800; transition:transform .2s ease,filter .2s ease; }
.hero-action:hover { transform:translateY(-3px); filter:brightness(1.06); }
.hero-action-partner { background:var(--orange); }
.hero-action-foreman { background:var(--blue); }
.hero-action-index { align-self:start; padding-top:2px; font:500 9px var(--display); opacity:.64; }
.hero-action-arrow { font-size:22px; transition:transform .2s ease; }
.hero-action:hover .hero-action-arrow { transform:translate(3px,3px); }
.mobile-break { display:none; }
.hero-controls { position:absolute; left:50%; bottom:30px; transform:translateX(-50%); display:flex; align-items:center; gap:20px; z-index:5; }
.hero-arrows { display:flex; gap:8px; }
.hero-arrows button { width:46px; height:46px; border:1px solid rgba(255,255,255,.34); color:white; background:rgba(9,28,22,.45); backdrop-filter:blur(8px); cursor:pointer; font-size:18px; transition:background .2s,border-color .2s; }
.hero-arrows button:hover { background:rgba(9,28,22,.78); border-color:var(--lime); }
.hero-dots { display:flex; gap:8px; }
.hero-dots button { width:34px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; display:grid; place-items:center; }
.hero-dots button span { width:28px; height:2px; background:rgba(255,255,255,.42); transition:height .2s,background .2s; }
.hero-dots button.is-active span { height:4px; background:var(--lime); }
.hero-counter { margin:0; min-width:54px; color:rgba(255,255,255,.6); font:500 10px var(--display); letter-spacing:.08em; }
.hero-counter span { color:white; }
section[id] { scroll-margin-top: 86px; }

.partner-section,.foreman-section { position:relative; padding:130px 0; }
.partner-section { color:white; background:var(--brand-dark); }
.section-rail { position:absolute; left:17px; top:130px; writing-mode:vertical-rl; transform:rotate(180deg); text-transform:uppercase; letter-spacing:.18em; font-size:10px; opacity:.5; }
.section-rail span { color:var(--orange); font-family:var(--display); margin-bottom:12px; }
.section-head { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; margin-bottom:64px; }
.section-head > * { min-width: 0; }
.section-head h2 { font-size:clamp(38px,5vw,68px); }
.section-head>p { margin:0 0 5px; color:rgba(255,255,255,.7); line-height:1.7; font-size:16px; }
.eyebrow-light span { background:var(--orange); }
.metric-strip { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid rgba(255,255,255,.2); }
.metric-strip>div { padding:32px 28px; display:flex; gap:16px; align-items:center; border-right:1px solid rgba(255,255,255,.2); }
.metric-strip>div:last-child { border-right:0; }
.metric-strip strong { font:600 46px var(--display); color:var(--lime); letter-spacing:-.07em; }.metric-strip sup{font-size:.4em;}
.metric-strip span { font-size:11px; line-height:1.45; color:rgba(255,255,255,.65); }
.micro-note { margin:12px 0 70px; font-size:11px; color:rgba(255,255,255,.5); }
.responsibility-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.18); margin-bottom:90px; }
.responsibility { padding:46px; background:#0b6545; }.responsibility.local{background:#094c36;}
.card-label,.kicker { font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;opacity:.65; }
.responsibility h3,.conditions h3,.steps-block h3,.fit-card h3,.detail-card h3,.foreman-process h3,.form-copy h3 { font:600 28px/1.25 var(--display); text-transform:uppercase; letter-spacing:-.04em; }
.check-list { list-style:none;padding:0;margin:36px 0 0; }
.check-list li { display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.16);font-size:14px; }
.check-list li span { font:500 10px var(--display); color:var(--lime); }
.conditions { display:grid;grid-template-columns:.72fr 1.28fr;background:var(--white);color:var(--ink);margin-bottom:90px; }
.conditions-intro{padding:50px;background:var(--orange);}.conditions-intro h3{font-size:32px;margin:22px 0;}.conditions-intro p:last-child{line-height:1.6;font-size:14px;}
.price-list { padding:20px 45px; }.price-list>div{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);}.price-list>div:last-child{border-bottom:0;}.price-list span{font-size:13px;}.price-list strong{font:600 18px var(--display);}
.steps-block { display:grid;grid-template-columns:.55fr 1.45fr;gap:60px;margin-bottom:90px; }
.steps-title h3{font-size:28px;}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;}
.steps li{padding:26px;border:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:44px 1fr;}.steps li>span{grid-row:1/3;color:var(--orange);font:500 11px var(--display);}.steps strong{font:600 14px var(--display);text-transform:uppercase;}.steps small{margin-top:8px;color:rgba(255,255,255,.55);line-height:1.45;}

.form-shell { display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:56px; }
.partner-form-shell { background:var(--ink); border:1px solid rgba(255,255,255,.18); }
.form-copy h3{font-size:32px;margin:25px 0 18px;}.form-copy>p{color:rgba(255,255,255,.65);line-height:1.6;}.form-badge{display:inline-block;margin-top:28px;padding:8px 12px;border:1px solid currentColor;border-radius:30px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.65;}
.lead-form { display:grid;grid-template-columns:1fr 1fr;gap:22px 18px; }
.lead-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;}
.lead-form input,.lead-form select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.34);background:transparent;color:white;padding:13px 0;border-radius:0;outline:0;}.lead-form input:focus,.lead-form select:focus{border-color:var(--lime);}.lead-form input::placeholder{color:rgba(255,255,255,.35);}.lead-form select option{color:var(--ink);}
.lead-form .consent{grid-column:1/-1;flex-direction:row;align-items:center;text-transform:none;letter-spacing:0;font-weight:500;color:rgba(255,255,255,.55);}.consent input{width:17px;height:17px;accent-color:var(--lime);}
.lead-form button{grid-column:1/-1;border:0;background:var(--orange);color:var(--ink);font-weight:800;padding:18px 22px;display:flex;justify-content:space-between;cursor:pointer;}.lead-form button:hover{filter:brightness(1.08);}.form-status{grid-column:1/-1;margin:0;font-size:13px;color:var(--lime);min-height:18px;}

.foreman-section { background:var(--paper); color:var(--ink); }
.foreman-section .section-rail span{color:var(--brand);}.foreman-head{align-items:center;}.foreman-head h2 em{color:var(--brand);}.not-franchise{justify-self:end;width:180px;height:180px;border-radius:50%;background:var(--blue);display:grid;place-content:center;text-align:center;transform:rotate(5deg);}.not-franchise strong{font:600 42px var(--display);}.not-franchise span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;}
.foreman-intro { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-bottom:70px; }
.photo-frame{position:relative;min-height:520px;overflow:hidden;background:#c6d0cb;}.photo-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05);}.photo-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(18,35,31,.75));}.photo-frame>span{position:absolute;left:28px;bottom:25px;z-index:2;color:white;font-size:11px;text-transform:uppercase;letter-spacing:.12em;}
.fit-card{background:var(--white);padding:55px;}.fit-card h3{font-size:30px;margin:22px 0 42px;}.fit-points>div{display:grid;grid-template-columns:42px 1fr;padding:20px 0;border-top:1px solid var(--line);}.fit-points span{font:500 10px var(--display);color:var(--brand);}.fit-points p{margin:0;line-height:1.6;font-size:14px;}.fit-points strong{display:block;font-size:15px;}
.foreman-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:80px;}.detail-card{padding:44px;background:var(--blue);}.detail-card.dark{background:var(--ink);color:white;}.detail-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-size:22px;}.detail-card h3{margin:40px 0 24px;}.detail-card ul{list-style:none;padding:0;margin:0;}.detail-card li{padding:15px 0;border-top:1px solid currentColor;font-size:14px;opacity:.78;}
.foreman-process{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;margin-bottom:80px;padding-block:30px;border-block:1px solid var(--line);}.foreman-process h3{font-size:30px;}.foreman-process ol{list-style:none;margin:0;padding:0;}.foreman-process li{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line);}.foreman-process li:first-child{border-top:0;}.foreman-process li>span{font:500 28px var(--display);color:var(--brand);}.foreman-process p{margin:0;line-height:1.5;font-size:13px;}.foreman-process strong{display:block;font:600 14px var(--display);text-transform:uppercase;margin-bottom:6px;}
.foreman-form-shell{background:var(--blue);}.foreman-form-shell .form-copy>p{color:rgba(18,35,31,.7);}.foreman-form input,.foreman-form select{color:var(--ink);border-color:rgba(18,35,31,.3);}.foreman-form input::placeholder{color:rgba(18,35,31,.45);}.foreman-form input:focus,.foreman-form select:focus{border-color:var(--brand);}.foreman-form .consent{color:rgba(18,35,31,.65);}.foreman-form button{background:var(--ink);color:white;}.foreman-form .form-status{color:var(--brand-dark);}

.faq-section{padding:120px 0;background:var(--white);}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;}.faq-title h2{font-size:clamp(34px,4vw,54px);}.faq-title>p:last-child{max-width:330px;margin-top:25px;color:rgba(18,35,31,.6);line-height:1.6;}
.accordion details{border-top:1px solid var(--line);}.accordion details:last-child{border-bottom:1px solid var(--line);}.accordion summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-weight:700;}.accordion summary::-webkit-details-marker{display:none;}.accordion summary span{font-size:22px;color:var(--brand);transition:transform .2s;}.accordion details[open] summary span{transform:rotate(45deg);}.accordion details p{margin:-5px 50px 25px 0;color:rgba(18,35,31,.66);line-height:1.7;font-size:14px;}
.site-footer{background:var(--ink);color:white;padding:65px 0 25px;}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding-bottom:55px;border-bottom:1px solid rgba(255,255,255,.15);}.footer-top>img{width:180px;filter:brightness(0) invert(1);}.footer-top>p{margin:0;font:500 20px/1.4 var(--display);text-transform:uppercase;}.footer-links{justify-self:end;display:flex;flex-direction:column;gap:12px;}.footer-links a{text-decoration:none;color:var(--lime);font-size:13px;font-weight:700;}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:24px;color:rgba(255,255,255,.45);font-size:10px;line-height:1.5;}.footer-bottom p:last-child{text-align:right;}

.reveal { opacity:0; transform:translateY(24px); transition:opacity .65s ease,transform .65s ease; }.reveal.visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-slide,.hero-action{transition:none}}

@media (max-width: 1100px){
  .container{width:min(var(--container),calc(100% - 40px));}.desktop-nav{gap:18px}.hero{min-height:100svh;padding:108px 0 70px}.hero-glass{width:88%;}.hero h1{font-size:clamp(36px,5vw,52px)}.hero-controls{bottom:14px}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip>div:nth-child(2){border-right:0}.section-rail{display:none}.section-head{gap:40px}.form-shell{gap:35px;padding:42px}.responsibility{padding:38px}.faq-grid{gap:60px}
}
@media (max-width: 820px){
  .header-inner{grid-template-columns:1fr auto;min-height:74px}.brand{width:150px}.desktop-nav,.header-cta{display:none}.menu-button{display:flex;width:44px;height:44px;padding:12px;border:1px solid rgba(255,255,255,.35);background:transparent;flex-direction:column;justify-content:center;gap:7px}.menu-button span{height:1px;background:white;width:100%;transition:transform .2s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:74px;left:0;right:0;background:var(--ink);padding:18px 24px 30px;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.15)}.mobile-nav.open{display:flex}.mobile-nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;font-weight:700}
  .hero{min-height:max(720px,100svh);padding:102px 0 82px}.hero-glass{width:100%;padding:36px}.hero h1{font-size:clamp(34px,6vw,46px)}.hero-lead{font-size:15px}.hero-actions{grid-template-columns:1fr 1fr}.hero-slide:first-child img{object-position:58% center}.hero-controls{bottom:20px}
  .partner-section,.foreman-section{padding:90px 0}.section-head{grid-template-columns:1fr;margin-bottom:45px}.section-head>p{max-width:600px}.metric-strip{margin-inline:-20px}.responsibility-grid,.conditions,.steps-block,.form-shell,.foreman-intro,.foreman-process,.faq-grid{grid-template-columns:1fr}.conditions-intro{padding:40px}.steps-block{gap:30px}.form-shell{padding:40px}.foreman-head{grid-template-columns:1fr auto}.foreman-intro{gap:0}.photo-frame{min-height:450px}.foreman-process{gap:20px}.faq-grid{gap:50px}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.footer-links{grid-column:2;grid-row:1/3}
}
@media (max-width: 560px){
  .container{width:calc(100% - 28px)}.hero{min-height:max(760px,100svh);padding:88px 0 76px}.hero::after{background-size:48px 48px}.hero-glass{padding:26px 22px 24px;background:linear-gradient(135deg,rgba(10,35,27,.74),rgba(12,31,27,.54));backdrop-filter:blur(13px) saturate(1.1);-webkit-backdrop-filter:blur(13px) saturate(1.1)}.eyebrow{font-size:9px;margin-bottom:18px}.hero h1{font-size:28px;line-height:1.13;letter-spacing:-.055em}.hero-lead{font-size:13px;line-height:1.55;margin-top:18px}.hero-actions{grid-template-columns:1fr;gap:9px;margin-top:22px}.hero-action{min-height:62px;padding:10px 13px;font-size:11px}.mobile-break{display:block}.hero-controls{width:calc(100% - 28px);justify-content:space-between;gap:8px;bottom:14px}.hero-arrows button{width:44px;height:44px}.hero-dots{gap:2px}.hero-dots button{width:28px}.hero-dots button span{width:22px}.hero-counter{min-width:48px}.hero-slide:first-child img{object-position:63% center}.hero-slide:nth-child(2) img{object-position:58% center}.hero-slide:nth-child(3) img{object-position:55% center}
  .partner-section,.foreman-section{padding:75px 0}.section-head h2,.foreman-head h2{font-size:34px;line-height:1.12}.section-head>p{font-size:14px}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip>div{padding:22px 15px;display:block}.metric-strip strong{font-size:34px;display:block;margin-bottom:8px}.metric-strip span{font-size:9px}.micro-note{margin-bottom:50px}.responsibility-grid{margin-bottom:60px}.responsibility{padding:30px 24px}.responsibility h3,.conditions h3,.steps-block h3,.fit-card h3,.detail-card h3,.form-copy h3{font-size:23px}.check-list li{font-size:12px}.conditions{margin-bottom:60px}.conditions-intro{padding:32px 24px}.price-list{padding:10px 24px}.price-list>div{display:block;padding:18px 0}.price-list span{display:block;margin-bottom:7px}.steps-block{margin-bottom:60px}.steps{grid-template-columns:1fr}.steps li{padding:20px}.form-shell{padding:30px 22px}.lead-form{grid-template-columns:1fr}.lead-form label,.lead-form .consent,.lead-form button,.form-status{grid-column:1}.form-copy h3{margin:20px 0 15px}.form-badge{margin:12px 0 30px}
  .foreman-head{grid-template-columns:1fr}.not-franchise{justify-self:start;width:130px;height:130px}.not-franchise strong{font-size:32px}.photo-frame{min-height:330px}.fit-card{padding:36px 24px}.foreman-details{grid-template-columns:1fr;margin-bottom:60px}.detail-card{padding:34px 24px}.foreman-process{margin-bottom:60px}.foreman-process li{grid-template-columns:38px 1fr;gap:10px}.faq-section{padding:80px 0}.faq-title h2{font-size:34px}.accordion summary{font-size:14px}.footer-top{grid-template-columns:1fr}.footer-links{grid-column:auto;grid-row:auto;justify-self:start}.footer-bottom{grid-template-columns:1fr}.footer-bottom p:last-child{text-align:left}
}

/* Brand proportions and animated mobile navigation */
.footer-top > img {
  width: auto;
  height: 82px;
  max-width: none;
  object-fit: contain;
}

@media (max-width: 820px) {
  .brand {
    width: auto;
    height: 58px;
  }

  .brand img {
    width: auto;
    height: 58px;
    max-width: none;
  }

  .menu-button {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
  }

  .menu-button:hover {
    background: rgba(255, 255, 255, .08);
  }

  .menu-button[aria-expanded="true"] {
    border-color: var(--lime);
    background: rgba(185, 242, 108, .08);
  }

  .menu-button span {
    transform-origin: center;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .2s ease;
  }

  .mobile-nav {
    display: flex;
    max-height: 0;
    padding: 0 24px;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-18px);
    border-top-color: transparent;
    box-shadow: 0 24px 38px rgba(0, 0, 0, 0);
    transition:
      max-height .5s cubic-bezier(.22, 1, .36, 1),
      padding .5s cubic-bezier(.22, 1, .36, 1),
      opacity .28s ease,
      transform .45s cubic-bezier(.22, 1, .36, 1),
      border-color .25s ease,
      box-shadow .45s ease,
      visibility 0s linear .5s;
  }

  .mobile-nav.open {
    max-height: 360px;
    padding: 18px 24px 30px;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    border-top-color: rgba(255, 255, 255, .15);
    box-shadow: 0 24px 38px rgba(0, 0, 0, .22);
    transition-delay: 0s;
  }

  .mobile-nav a {
    opacity: 0;
    transform: translateX(-22px);
    transition:
      opacity .28s ease,
      transform .42s cubic-bezier(.22, 1, .36, 1),
      color .2s ease;
  }

  .mobile-nav.open a {
    opacity: 1;
    transform: translateX(0);
  }

  .mobile-nav.open a:nth-child(1) { transition-delay: .08s; }
  .mobile-nav.open a:nth-child(2) { transition-delay: .13s; }
  .mobile-nav.open a:nth-child(3) { transition-delay: .18s; }
  .mobile-nav.open a:nth-child(4) { transition-delay: .23s; }
}

@media (max-width: 560px) {
  .footer-top > img {
    height: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-button,
  .menu-button span,
  .mobile-nav,
  .mobile-nav a {
    transition: none !important;
  }
}
