*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,blockquote{margin:0}h1,h2,h3{line-height:1.1}ul{margin:0;padding:0;list-style:none}section{scroll-margin-top:30px}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip-link{position:fixed;top:-100px;left:15px;z-index:1200;padding:12px;background:var(--cream)}.skip-link:focus{top:15px}
.page-container{width:min(var(--page-width),calc(100% - 2*var(--page-gutter)));margin-inline:auto}.section-title{font-size:var(--heading-size);font-weight:700;letter-spacing:-.035em}.section-title--orange{color:var(--orange)}.section-pad{padding-block:40px}
.menu-toggle{position:fixed;left:clamp(22px,3.75vw,54px);top:60px;z-index:1001;display:grid;align-content:center;gap:6px;width:28px;height:28px;border:0;background:transparent;padding:0}.menu-toggle span{display:block;height:2px;width:28px;background:#fff;transition:background-color .18s ease}.menu-toggle.is-dark span{background:var(--navy)}.site-navigation{position:fixed;inset:0 auto 0 0;z-index:1003;width:min(320px,85vw);display:flex;flex-direction:column;gap:21px;padding:36px;background:var(--cream);box-shadow:none;transform:translateX(-110%);transition:transform .5s var(--ease-calm)}.site-navigation.is-open{transform:translateX(0)}.site-navigation img{margin:35px 0 20px}.site-navigation a{font-size:20px;font-weight:700;color:var(--navy)}.site-navigation a:hover{color:var(--orange)}.menu-close{position:absolute;right:20px;top:12px;font-size:36px;border:0;background:none;color:var(--orange)}body.nav-open::before{content:'';position:fixed;inset:0;z-index:1002;background:var(--nav-overlay)}
.footer{background:var(--cream);color:var(--orange-deep)}.footer .page-container{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer small{font-size:14px}.footer a{text-decoration:underline}

/* Expanded navigation, aligned with the approved desktop Figma frame. */
.site-navigation {
  gap: 0;
  padding: 30px 32px 48px;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  transition: transform 960ms var(--ease-calm);
}
.site-navigation .nav-brand {
  width: 217px;
  height: auto;
  max-width: 100%;
  margin: 62px auto 74px;
}
.site-navigation .menu-close {
  top: 27px;
  right: 26px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 25px;
  line-height: 1;
}
.nav-links { display: grid; gap: 8px; }
.site-navigation .nav-links a {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 16px;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 600;
  color: var(--navy);
}
.site-navigation .nav-links a[aria-current="page"] {
  background: var(--orange-hover);
  color: var(--orange);
  font-weight: 700;
}
.nav-spacer { flex: 1 1 auto; min-height: 32px; }
.nav-actions { display: grid; gap: 12px; }
.site-navigation .nav-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  padding: 8px 15px;
  border: 1px solid var(--peach-border);
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.site-navigation .nav-action i { font-size: 19px; line-height: 1; flex: none; }
.site-navigation .nav-action--phone {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--cream);
}
.site-navigation .nav-action--whatsapp {
  background: transparent;
  color: var(--orange);
}
.nav-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 36px;
}
.nav-social-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: none;
  border: 1px solid var(--service-border);
  border-radius: 50%;
  background: var(--white);
  color: var(--orange);
  font-size: 19px;
}
.nav-behance { font-size: 18px; font-weight: 900; letter-spacing: -.07em; }
body.nav-open { overflow: hidden; }
.footer .page-container{display:grid;grid-template-columns:1fr 1fr 1fr}
.footer .page-container small:nth-child(2){text-align:center}
.footer .page-container small:last-child{text-align:right}
