@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/e3237528af752eed.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/e3237528af752eed.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/e3237528af752eed.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/e3237528af752eed.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/e3237528af752eed.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/363014d7c907501d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/363014d7c907501d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/363014d7c907501d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Local font declarations are inserted by build_release.py. */
html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:clip}h1,h2,h3,p{overflow-wrap:break-word}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid hsl(var(--gold));outline-offset:5px}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:#ebc766;color:#111;padding:12px}.skip-link:focus{top:16px}.matteos-hero{min-height:100svh;padding:64px 0}.hero-background{width:100%;height:100%;object-fit:cover;object-position:center}.matteos-logo{object-fit:contain}.matteos-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:hsl(var(--gold));color:hsl(var(--charcoal));font-family:Inter,sans-serif;font-size:18px;font-weight:600;line-height:1.4;min-height:48px;padding:12px 32px;border-radius:6px;text-align:center;transition:background-color .2s,transform .2s;max-width:100%;white-space:normal}.matteos-button:hover{background:hsl(var(--gold)/.9);transform:scale(1.02)}.scroll-cue{position:absolute;bottom:32px;left:calc(50% - 12px);border:2px solid hsl(var(--gold));border-radius:30px;width:24px;height:40px;display:flex;justify-content:center;padding:7px}.scroll-cue span{display:block;width:4px;height:12px;background:hsl(var(--gold));border-radius:10px}.matteos-carousel{position:relative}.matteos-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch}.matteos-track::-webkit-scrollbar{display:none}.matteos-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start}.service-card{position:relative;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#151515}.service-card video,.service-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-overlay{position:absolute;bottom:0;inset-inline:0;padding:32px 24px 24px;background:linear-gradient(transparent,rgba(0,0,0,.92));pointer-events:none}.service-overlay p{line-height:1.5}.carousel-controls{display:flex;justify-content:center;gap:16px;margin-top:24px}.carousel-controls button{border:1px solid hsl(var(--gold));color:hsl(var(--gold));border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;background:hsl(var(--gold)/.1)}.carousel-controls button:hover{color:#111;background:hsl(var(--gold))}.video-play{position:absolute;top:calc(50% - 26px);left:calc(50% - 26px);z-index:2;border-radius:50%;background:rgba(0,0,0,.75);color:#f0d281;width:52px;height:52px;border:1px solid currentColor;font-size:22px}.service-card.is-playing .video-play{opacity:0;pointer-events:none}.service-card:focus-within .video-play,.service-card:hover .video-play{opacity:1;pointer-events:auto}.video-error{position:absolute;top:40%;left:12px;right:12px;text-align:center;padding:12px;font-size:14px}.social-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 20px;border:1px solid hsl(var(--gold));border-radius:6px;color:hsl(var(--gold))}.social-link:hover{background:hsl(var(--gold)/.1)}
@media(min-width:768px){.matteos-slide{flex-basis:calc((100% - 16px)/2)}}@media(min-width:1024px){.matteos-slide{flex-basis:calc((100% - 32px)/3)}}@media(max-width:480px){.matteos-hero h1{font-size:2.6rem}.matteos-hero p{font-size:1.125rem}.service-overlay{padding:40px 20px 20px}.matteos-button{font-size:16px;padding-inline:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Services: restore original Embla geometry, typography, mask and lateral arrows. */
[data-carousel="services"] .services-viewport{overflow:hidden}
[data-carousel="services"] .matteos-track{overflow:visible;gap:0;margin-left:-8px;scroll-snap-type:none;touch-action:pan-y pinch-zoom}
.service-slide{flex:0 0 100%;min-width:0;padding-left:8px}
[data-carousel="services"] .service-card{cursor:pointer}
[data-carousel="services"] .service-shade{position:absolute;inset:0;background:linear-gradient(to top,hsl(var(--background)),hsl(var(--background)/.6),transparent);pointer-events:none}
[data-carousel="services"] .service-overlay{padding:24px;background:none}
[data-carousel="services"] .service-overlay p{line-height:1.5}
[data-carousel="services"] .carousel-controls{display:none;margin:0}
[data-carousel="services"] .carousel-controls button{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;font-size:18px;background:hsl(var(--gold)/.2);display:flex;align-items:center;justify-content:center}
[data-carousel="services"] .carousel-controls button:hover{background:hsl(var(--gold));color:hsl(var(--background))}
[data-carousel="services"] [data-prev]{left:-48px}
[data-carousel="services"] [data-next]{right:-48px}
[data-carousel="services"] .video-play{display:none}
[data-carousel="services"] .needs-play .video-play{display:block;opacity:1;pointer-events:auto}
@media(min-width:768px){.service-slide{flex-basis:50%;padding-left:16px}[data-carousel="services"] .matteos-track{margin-left:-16px}[data-carousel="services"] .carousel-controls{display:block}}
@media(min-width:1024px){.service-slide{flex-basis:33.333333%}}
/* Keep the original lateral controls reachable when the container meets the screen edge. */
@media(min-width:768px) and (max-width:1391px){[data-carousel="services"] [data-prev]{left:8px}[data-carousel="services"] [data-next]{right:8px}}
