:root{
  /* Japandi palette — soft white / beige / natural / warm taupe /
     moss green / soft black / terracotta / walnut */
  --ink:#201B18;
  --muted:#66503F; /* darkened from #80644F — was 4.77:1 on --tint, a thin margin over the 4.5 AA floor; now 6.6:1 */
  --tint:#F5EFE6;
  --border:#DCC3A5;
  /* --border is intentionally soft (1.7:1) for decorative dividers
     and card outlines — fine, since they're not the sole means of
     identifying a component. Form fields ARE a component boundary
     (WCAG 1.4.11, needs 3:1), so they get this stronger tone instead. */
  --border-strong:#9A8873;
  --white:#FFFFFF;
  --accent:#A8502C;
  --accent-dark:#4B2914;
  --accent-light:#E2825C;
  /* pale tint of accent-light, kept for TEXT sitting directly on the
     hero photo — verified >5:1 against the scrim even at its
     weakest point and against a bright patch of photo underneath.
     accent-light itself only clears ~2.3:1 there, so it's reserved
     for use on solid --ink backgrounds (logo mark, preloader). */
  --accent-hero:#F8E0D6;
  --moss:#4C4026;
  --natural:#C29E7C;
  --natural-rgb:194,158,124;
  --moss-rgb:76,64,38;
  --max:1120px;
}

*{box-sizing:border-box;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px;}
.hero :focus-visible,.btn-ghost-light:focus-visible{outline-color:var(--white);}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:64px;}
body{
  margin:0;
  font-family:'Outfit',Helvetica,Arial,sans-serif;
  font-weight:400;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-weight:500;margin:0 0 .5em;letter-spacing:-0.01em;}
p{margin:0 0 1em;line-height:1.7;color:var(--ink);}
strong{font-weight:600;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px;}

.kicker{
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
  margin:0 0 10px;
}
.kicker.light{color:rgba(255,255,255,.88);}
.kicker strong{color:var(--accent-dark);font-weight:600;}
.kicker.light strong{color:var(--accent-hero);}

/* ---------- preloader ---------- */
.preloader{
  position:fixed;inset:0;z-index:999;
  background:var(--white);
  display:flex;align-items:center;justify-content:center;
  /* matches (slightly exceeds) the .55s fly-to-logo tween in script.js,
     so the overlay never turns fully transparent before that tween --
     and the "done" class that hides it entirely -- actually finish. */
  transition:background-color .6s ease;
}
.preloader.fade{background-color:rgba(255,255,255,0);}
.preloader.done{display:none;}
.preloader-mark{width:52px;height:52px;position:relative;z-index:2;}
.preloader-mark .pj{fill:var(--ink);}

/* ---------- reveal (JS-driven, visible by default for no-JS/SEO) ----------
   html.js pre-hides these BEFORE first paint (inline script in <head>,
   runs before body renders) so there's no visible flash of "shown, then
   hidden, then animated back in" while script.js/GSAP are still loading.
   If GSAP/ScrollTrigger never load, script.js forces opacity back to 1
   itself (see initScrollReveals), so nothing stays stuck invisible. */
.reveal{opacity:1;}
html.js .reveal{opacity:0;}
html.js .insta-cell{opacity:0;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--white);
  border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex;align-items:center;gap:12px;
  height:64px;
}
.brand{display:flex;align-items:center;flex-shrink:0;min-width:0;}
.brand-logo{height:16px;width:auto;max-width:100%;}
.main-nav{display:none;}
.nav-cta{display:none;}
.nav-cta-row{display:none;}
.header-call{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;margin-left:auto;flex-shrink:0;
  border:1px solid var(--border);border-radius:50%;color:var(--ink);
  transition:background .12s ease, border-color .12s ease;
}
.header-call svg{width:17px;height:17px;}
.header-call:hover{background:var(--tint);}
.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;flex-shrink:0;}
.nav-toggle span{width:22px;height:1.6px;background:var(--ink);display:block;transition:transform .2s ease, opacity .2s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(6.6px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg);}
.main-nav.open{
  display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;
  background:var(--white);border-bottom:1px solid var(--border);padding:16px 20px 22px;gap:15px;
  max-height:calc(100svh - 64px);overflow-y:auto;
}
.main-nav.open a{font-size:15px;}
.main-nav.open .nav-cta-row{display:flex;gap:10px;margin-top:6px;padding-top:16px;border-top:1px solid var(--border);}
.main-nav.open .nav-cta-row .btn{flex:1;}

/* ---------- buttons ----------
   .btn is used on both <a> and <button> (the contact form's submit).
   appearance:none + margin:0 + text-decoration:none strip native
   <button> chrome (Safari especially keeps its own padding/font
   metrics otherwise) so a <button class="btn"> and an <a class="btn">
   sitting side by side are pixel-identical, not just class-identical. */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  appearance:none;-webkit-appearance:none;margin:0;text-decoration:none;
  padding:14px 22px;
  font-family:inherit;font-size:14px;font-weight:500;line-height:1;
  border-radius:2px;
  cursor:pointer;
  border:1px solid var(--ink);
  transition:opacity .12s ease, transform .12s ease, background .12s ease;
  white-space:nowrap;
  box-sizing:border-box;
}
.btn:hover{opacity:.85;}
.btn-primary{background:var(--accent);color:var(--white);border-color:var(--accent);}
.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);opacity:1;}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-ghost-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,.7);}
.btn-small{padding:9px 16px;font-size:13px;}

/* ---------- hero ---------- */
.hero{position:relative;height:70svh;min-height:420px;max-height:640px;overflow:hidden;}
.hero-img{
  position:absolute;inset:0;width:100%;height:112%;object-fit:cover;will-change:transform;
  filter:grayscale(1) contrast(1.08) brightness(.9);
}
/* stops verified to hold >6:1 white-text contrast even against a
   bright/light patch of photo underneath (worst-case tested), so
   the headline stays readable regardless of what's in the shot */
.hero-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,13,11,.90) 0%,rgba(15,13,11,.72) 45%,rgba(15,13,11,.62) 100%);}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding-bottom:44px;color:var(--white);}

.hero-logo{width:52px;height:52px;margin-bottom:16px;}
.hero-logo-svg{width:100%;height:100%;}
.hero-logo-svg .pj{fill:var(--accent-light);}

.hero-content h1{font-size:clamp(30px,9vw,54px);color:var(--white);max-width:16ch;margin:0 auto .4em;}
.hero-content .hline{display:block;}
.hero-content .word-mask{display:inline-block;overflow:hidden;vertical-align:top;}
.hero-content .word{display:inline-block;will-change:transform;}
.hero-content .word-accent{position:relative;color:var(--accent-hero);}
.hero-content .word-accent::after{
  content:"";position:absolute;left:1px;right:2px;bottom:-6px;height:2px;
  background:var(--accent-hero);transform:scaleX(1);transform-origin:left;
}
.hero-content .word-accent.underline-anim::after{
  animation:drawUnderline .55s cubic-bezier(.16,1,.3,1) both;
}
@keyframes drawUnderline{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.hero-tagline{color:rgba(255,255,255,.86);max-width:34ch;font-size:16px;margin:0 auto 22px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:4px;}
.hero-actions .btn{width:auto;}

/* Pre-hide the headline intro before first paint (avoids the flash while
   GSAP/the preloader are still loading). Deliberately opacity-only, even
   for the words -- NOT transform:translateY(...). A CSS percentage
   transform there gets parsed by GSAP the first time gsap.set(words,
   {yPercent:115}) runs, which seeds a residual pixel offset that never
   fully clears when the reveal tween animates back to yPercent:0 -- the
   word stays a few px off and clipped by its mask, i.e. permanently
   invisible. Opacity has no such parse-and-inherit behaviour, so it's
   the safe way to pre-hide anything GSAP will also drive via transform.
   script.js's gsap.set()/.to() calls for .word explicitly include
   opacity too, so GSAP takes full, clean ownership of both properties.
   If GSAP never takes over, runHeadlineIntro()'s fallback clears these
   inline via JS, so nothing is left permanently invisible. */
html.js .hero-content .kicker,
html.js #hero-title .word,
html.js .hero-tagline,
html.js .hero-actions{opacity:0;}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;background:rgba(var(--natural-rgb),.14);}
.marquee-track{display:flex;width:max-content;animation:marquee 40s linear infinite;}
.marquee-track span{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--moss);padding:0 20px;white-space:nowrap;}
.marquee-track span:not(:last-child){border-right:1px solid var(--border);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-25%);}}

/* ---------- sections ---------- */
.section{padding:64px 0;}
.section-tint{background:var(--tint);}
.section h2{position:relative;z-index:1;font-size:clamp(22px,6vw,32px);max-width:20ch;}
.section .wrap{position:relative;}
.section .kicker{position:relative;z-index:1;}

/* ---------- highlight marker ----------
   A translucent band sits BEHIND select words, like a highlighter
   pen — real surlignage, not a floating block. Text stays --ink
   (>9:1 contrast against these tints even at full opacity,
   verified). Visible by default (progressive enhancement); JS adds
   .hl-pending on load then removes it on scroll-into-view, so the
   band sweeps in — a single cheap composited property (background-
   size), smooth on any device, no jank. */
.hl{
  color:var(--ink);
  background-repeat:no-repeat;
  background-position:0 88%;
  background-size:100% 40%;
  transition:background-size .7s cubic-bezier(.16,1,.3,1);
  padding:0 .05em;
}
.hl-natural{background-image:linear-gradient(rgba(var(--natural-rgb),.55),rgba(var(--natural-rgb),.55));}
.hl-moss{background-image:linear-gradient(rgba(var(--moss-rgb),.28),rgba(var(--moss-rgb),.28));}
.hl.hl-pending{background-size:0% 40%;}

/* ---------- services (3 cards) ---------- */
.services-title{text-align:center;max-width:none;margin:0 auto 28px;font-size:clamp(24px,5.5vw,36px);}
.services-grid{display:grid;grid-template-columns:1fr;gap:20px;}
.services-area{text-align:center;max-width:46ch;margin:28px auto 0;color:var(--muted);font-size:15px;}
.service-card{
  border:1px solid var(--border);background:var(--white);
  padding:20px 20px 24px;
  transition:border-color .15s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1);
}
.service-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 20px 32px -20px rgba(26,20,15,.22);}
.service-photo{overflow:hidden;aspect-ratio:4/3;margin:0 0 16px;background:var(--natural);}
.service-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.service-card:hover .service-photo img{transform:scale(1.06);}
.service-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;margin-bottom:10px;
  border-radius:50%;background:var(--tint);color:var(--accent);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), background .2s ease;
}
.service-card:hover .service-icon{transform:rotate(-8deg) scale(1.1);background:var(--accent);color:var(--white);}
.service-icon svg{width:17px;height:17px;}
.service-card h3{font-size:19px;margin:0 0 8px;}
.service-card p{font-size:14px;color:var(--muted);margin:0 0 16px;}
.service-card .btn{width:100%;}

/* ---------- avis (google reviews carousel) ---------- */
.avis-title{text-align:center;max-width:none;margin:0 auto 32px;font-size:clamp(24px,5.5vw,36px);}
.kicker.center{text-align:center;}
.avis-carousel{position:relative;display:flex;align-items:center;gap:10px;}
.avis-track{
  display:flex;gap:20px;overflow-x:auto;flex:1;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding:4px 2px 10px;
}
.avis-track::-webkit-scrollbar{display:none;}
.avis-bubble{
  position:relative;flex:0 0 100%;scroll-snap-align:center;
  background:var(--white);border:1px solid var(--border);
  padding:28px 26px 22px;
}
.avis-quote-mark{position:absolute;top:8px;right:18px;font-size:52px;line-height:1;color:var(--border);font-family:Georgia,serif;}
.avis-stars{color:var(--accent);font-size:15px;letter-spacing:2px;margin-bottom:10px;}
.avis-text{font-size:15.5px;line-height:1.65;margin:0 0 18px;position:relative;z-index:1;}
.avis-google-badge{display:inline-flex;margin-bottom:12px;}
.avis-author{display:flex;align-items:center;gap:10px;}
.avis-avatar{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:var(--moss);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:600;letter-spacing:.3px;
}
.avis-author-name{font-size:13.5px;font-weight:500;}
.avis-arrow{
  flex-shrink:0;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--border);background:var(--white);color:var(--ink);
  font-size:20px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .15s ease, color .15s ease, transform .15s cubic-bezier(.34,1.56,.64,1);
}
.avis-arrow:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.08);}
.avis-arrow[disabled]{opacity:.35;cursor:default;}
.avis-arrow[disabled]:hover{border-color:var(--border);color:var(--ink);transform:none;}
.avis-dots{display:flex;justify-content:center;gap:7px;margin-top:16px;}
.avis-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .15s ease, transform .15s ease;}
.avis-dot.active{background:var(--accent);transform:scale(1.3);}

/* ---------- instagram ---------- */
.insta-title{text-align:center;max-width:none;margin:0 auto 24px;font-size:clamp(24px,5.5vw,36px);}
.insta-profile{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;text-align:left;}
.insta-avatar{width:44px;height:44px;border-radius:50%;padding:9px;background:var(--ink);flex-shrink:0;}
.insta-handle{font-size:14.5px;font-weight:600;margin:0;}
.insta-bio{font-size:13px;color:var(--muted);margin:2px 0 0;}
.insta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.insta-cell{position:relative;overflow:hidden;display:block;aspect-ratio:1/1;background:var(--natural);}
.insta-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.insta-cell:hover img{transform:scale(1.08);}
.insta-cell::after{
  content:"";position:absolute;inset:0;
  background:rgba(26,20,15,.28);
  opacity:0;transition:opacity .25s ease;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:26px 26px;
}
.insta-cell:hover::after{opacity:1;}
/* Small "multiple photos" badge, top-right -- mirrors Instagram's own
   carousel-post indicator, shown on grid cells whose post has more than
   one photo (see insta-cell-carousel on the <a> in index.html). */
.insta-cell-carousel::before{
  content:"";position:absolute;top:8px;right:8px;z-index:1;
  width:18px;height:18px;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2 2 0 0 1 2 2v12'/%3E%3Crect x='3' y='7' width='14' height='14' rx='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:18px 18px;
}
.insta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px;}

/* ---------- contact ---------- */
.contact-title{text-align:center;max-width:none;margin:0 auto 28px;font-size:clamp(24px,5.5vw,36px);}
.contact-note{max-width:52ch;margin:0 auto 32px;text-align:center;color:var(--muted);font-size:14.5px;line-height:1.6;}
.contact-form{max-width:640px;margin:0 auto;}
.contact-fields{display:grid;grid-template-columns:1fr;gap:20px;}
.contact-field-full{grid-column:1 / -1;}
.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted);}
.contact-form input,.contact-form textarea,.contact-form select{
  font-family:inherit;font-size:16px;color:var(--ink);
  border:none;border-bottom:1px solid var(--border-strong);
  padding:8px 2px;background:transparent;resize:vertical;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.6;}
.contact-form select{
  appearance:none;-webkit-appearance:none;border-radius:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366503F' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;background-size:16px 16px;
  padding-right:22px;cursor:pointer;
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.contact-consent{margin:14px 0 0;font-size:12px;color:var(--muted);max-width:52ch;}
.contact-confirm{margin:14px 0 0;font-size:13.5px;color:var(--moss);font-weight:500;min-height:1px;}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--border);padding:36px 0 100px;}
.footer-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
.footer-mark{width:20px;height:20px;opacity:.8;}
.footer-inner p{margin:0;font-size:12.5px;color:var(--muted);}
.footer-location{max-width:38ch;}
.footer-links{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:8px 20px;margin-top:4px;
}
.footer-social{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--muted);font-size:12.5px;
  transition:color .15s ease;
}
.footer-social svg{width:15px;height:15px;flex-shrink:0;}
.footer-social:hover{color:var(--moss);}

/* ---------- FAB ---------- */
.fab-wrap{position:fixed;right:16px;bottom:16px;z-index:150;display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.fab-btn{
  width:54px;height:54px;border-radius:50%;
  background:var(--accent);color:var(--white);border:0;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;position:relative;
  box-shadow:0 6px 24px rgba(0,0,0,.28);
  transition:background .15s ease;
}
.fab-btn:hover{background:var(--accent-dark);}
.fab-icon{width:22px;height:22px;position:absolute;transition:opacity .18s ease, transform .18s ease;}
.fab-icon-close{opacity:0;transform:rotate(-45deg);}
.fab-btn.open .fab-icon-open{opacity:0;transform:rotate(45deg);}
.fab-btn.open .fab-icon-close{opacity:1;transform:rotate(0);}
.fab-btn::after{
  content:'';position:absolute;inset:-6px;border-radius:50%;
  border:1px solid var(--accent);opacity:0;
  animation:fabpulse 2.6s ease-out infinite;
}
.fab-panel{
  width:min(300px,calc(100vw - 32px));
  background:var(--white);border:1px solid var(--border);
  padding:22px;
  transform:scale(.9) translateY(8px);opacity:0;pointer-events:none;
  transform-origin:bottom right;
  transition:transform .25s cubic-bezier(.16,1,.3,1), opacity .2s ease;
}
.fab-panel.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto;}
.fab-title{font-weight:500;margin:0 0 4px;font-size:15px;}
.fab-sub{font-size:13px;color:var(--muted);margin:0 0 16px;}
.fab-panel .btn{width:100%;margin-bottom:8px;}
.fab-link{display:block;text-align:center;font-size:12.5px;color:var(--muted);margin-top:4px;}
@keyframes fabpulse{0%{opacity:.5;transform:scale(1);}100%{opacity:0;transform:scale(1.35);}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;}
  .fab-btn::after{animation:none;}
  html{scroll-behavior:auto;}
}

/* =========================================================
   Breakpoints — mobile first (min-width)
   ========================================================= */
@media (min-width:680px){
  .header-inner{height:76px;}
  .brand-logo{height:20px;}
  .main-nav{display:flex;gap:28px;margin-left:auto;}
  .main-nav a{font-size:14px;position:relative;}
  .main-nav a{transition:color .12s ease;}
  .main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--accent);transition:right .25s cubic-bezier(.16,1,.3,1);}
  .main-nav a:hover{color:var(--accent);}
  .main-nav a:hover::after{right:0;}
  .nav-cta{display:inline-flex;margin-left:8px;}
  .nav-toggle{display:none;}
  .header-call{display:none;}
  .wrap{padding:0 28px;}
  .section{padding:88px 0;}
  .services-grid{grid-template-columns:repeat(3,1fr);gap:24px;}
  .avis-bubble{padding:36px 40px 28px;}
  .avis-text{font-size:17px;}
  .insta-grid{grid-template-columns:repeat(3,1fr);gap:12px;}
  .contact-fields{grid-template-columns:1fr 1fr;}
  .hero-content{padding-bottom:56px;}
  .hero-logo{width:64px;height:64px;margin-bottom:20px;}
}

@media (min-width:900px){
  .brand-logo{height:22px;}
  .avis-track{padding-left:0;}
  .avis-bubble{flex-basis:640px;}
  .fab-wrap{right:28px;bottom:28px;}
}

@media (min-width:1200px){
  .hero-content h1{font-size:60px;}
}

