@font-face {
  font-family:ArialFallback;
  src:local('Arial')}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px}
body {
  margin:0;
  background:#f6f6ef;
  color:#22251f;
  font-family:ArialFallback,Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased}
::selection {
  background:#dcfa72;
  color:#22251f}
a {
  color:inherit;
  text-decoration:none}
button,input,select,textarea {
  font:inherit}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #71991b;
  outline-offset:5px}
svg {
  width:22px;
  height:22px;
  flex-shrink:0}
p {
  line-height:1.65}
h1,h2,h3,p {
  margin-top:0}
h1,h2,h3 {
  font-weight:500}
h2 {
  font-size:clamp(36px,4.2vw,59px);
  letter-spacing:-2.7px;
  line-height:1.08;
  margin-bottom:24px}
h3 {
  letter-spacing:-.7px}
.container {
  width:min(1280px,calc(100% - 112px));
  margin-inline:auto}
.site-header {
  height:106px;
  border-bottom:1px solid #dedfd5;
  background:#f6f6ef;
  position:relative;
  z-index:20}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:100%}
.logo {
  font-size:52px;
  letter-spacing:-4px;
  font-weight:800;
  line-height:1;
  position:relative;
  display:inline-block}
.logo-dot {
  font-size:13px;
  letter-spacing:0;
  vertical-align:top;
  position:relative;
  top:9px;
  margin-left:5px}
.site-header nav {
  display:flex;
  align-items:center;
  gap:38px;
  font-size:14px}
.site-header nav>a:not(.button):hover,.site-header nav a[aria-current] {
  text-decoration:underline;
  text-underline-offset:6px}
.nav-plus {
  margin-left:6px;
  font-size:17px}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  min-height:57px;
  padding:17px 23px;
  font-size:14px;
  font-weight:600;
  border:1px solid transparent;
  border-radius:5px;
  cursor:pointer;
  transition:background .2s,transform .2s}
.button:hover {
  transform:translateY(-3px)}
.button-dark {
  color:#f6f6ef;
  background:#242720}
.button-dark:hover {
  background:#3c4134}
.button-small {
  min-height:46px;
  padding:12px 20px;
  gap:32px}
.button-lime {
  background:#dcfa72;
  color:#22251f}
.text-link {
  display:inline-flex;
  gap:20px;
  align-items:center;
  font-size:14px;
  font-weight:600}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px}
.eyebrow {
  font-size:10px;
  letter-spacing:1.8px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:10px;
  line-height:1.6}
.status-dot {
  display:inline-block;
  width:7px;
  height:7px;
  background:#81974b;
  border-radius:50%;
  flex-shrink:0}
.hero {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:24px;
  padding-top:70px;
  padding-bottom:58px;
  align-items:center}
.hero h1 {
  font-size:clamp(50px,5.2vw,76px);
  letter-spacing:-4.3px;
  line-height:1.015;
  margin:29px 0 26px;
  font-weight:500}
.hero-copy>p {
  font-size:15px;
  line-height:1.7;
  color:#686b61;
  margin-bottom:27px}
.highlight-word {
  position:relative;
  white-space:nowrap;
  z-index:0}
.highlight-word svg {
  position:absolute;
  left:-2px;
  bottom:-7px;
  width:100%;
  height:17px;
  z-index:-1;
  stroke:#c7ea63;
  stroke-width:10;
  fill:none}
.lime-period {
  color:#829e2e}
.hero-actions {
  display:flex;
  align-items:center;
  gap:26px}
.hero-note {
  display:flex;
  align-items:center;
  gap:9px;
  color:#7a7e72;
  font-size:10px;
  letter-spacing:.2px;
  margin-top:36px}
.tiny-cross {
  font-size:23px;
  color:#657d36}
.hero-art {
  height:544px;
  position:relative;
  isolation:isolate;
  min-width:0}
.art-grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(#dfe3d770 1px,transparent 1px),linear-gradient(90deg,#dfe3d770 1px,transparent 1px);
  background-size:37px 37px;
  mask-image:radial-gradient(ellipse,#000 25%,transparent 70%)}
.art-label {
  position:absolute;
  left:35px;
  top:19px;
  font-size:8px;
  letter-spacing:1.5px;
  color:#838978}
.floating-chip {
  background:#fff;
  border:1px solid #e6e9df;
  box-shadow:0 10px 35px #252d1310;
  padding:14px 17px;
  display:flex;
  align-items:center;
  gap:13px;
  font-size:11px;
  border-radius:7px}
.chip-top {
  position:absolute;
  right:20px;
  top:51px;
  z-index:3;
  transform:rotate(5deg)}
.chip-top svg {
  width:15px;
  height:15px}
.mock-browser {
  position:absolute;
  top:110px;
  left:9px;
  width:95%;
  background:#fff;
  border:1px solid #e1e4d8;
  border-radius:10px;
  box-shadow:0 24px 65px #3446231c;
  transform:rotate(-5deg);
  overflow:hidden}
.browser-bar {
  height:33px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#fcfcf9;
  border-bottom:1px solid #efefe8;
  padding:0 12px;
  font-size:8px;
  color:#85897d}
.browser-bar>span:first-child {
  display:flex;
  gap:4px}
.browser-bar i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#d5d8ca}
.mock-content {
  padding:21px 22px 12px;
  background:#edf0e4;
  position:relative;
  overflow:hidden}
.mock-nav {
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
  z-index:2}
.mock-nav b {
  font-size:13px;
  letter-spacing:-.6px}
.mock-nav b span {
  font-size:6px;
  vertical-align:top}
.mock-nav>span {
  font-size:6px}
.mock-main {
  position:relative;
  z-index:2;
  margin:43px 0 33px}
.mock-eyebrow {
  font-size:5px;
  letter-spacing:1.2px;
  display:block;
  margin-bottom:14px}
.mock-main strong {
  font-size:32px;
  font-weight:500;
  letter-spacing:-1.8px;
  line-height:1.03;
  display:block}
.mock-main strong em {
  font-family:Georgia,serif;
  font-weight:400}
.mock-line {
  height:3px;
  width:120px;
  background:#bec5b1;
  margin-top:14px}
.mock-line.short {
  width:100px;
  margin-top:5px}
.mock-button {
  display:inline-flex;
  gap:16px;
  padding:9px 10px;
  background:#272e20;
  color:white;
  font-size:6px;
  margin-top:18px;
  border-radius:2px}
.mock-bottom {
  border-top:1px solid #cdd3c2;
  padding-top:9px;
  display:flex;
  justify-content:space-between;
  font-size:5px;
  letter-spacing:.6px;
  position:relative;
  z-index:2}
.sculpture {
  position:absolute;
  width:205px;
  height:235px;
  right:-14px;
  top:63px;
  transform:rotate(24deg)}
.sculpture-ring {
  position:absolute;
  width:164px;
  height:106px;
  border:26px solid #d1ee70;
  border-radius:50%;
  box-shadow:inset 7px 6px 9px #819c35,9px 11px 0 #8ba443,18px 25px 22px #45542930;
  background:transparent;
  transform:rotate(-35deg) skew(5deg)}
.ring-one {
  top:0;
  left:9px}
.ring-two {
  top:61px;
  left:1px}
.ring-three {
  top:122px;
  left:-7px}
.growth-card {
  position:absolute;
  bottom:31px;
  left:-12px;
  width:214px;
  padding:18px;
  background:#fff;
  border:1px solid #e5e8dd;
  border-radius:8px;
  box-shadow:0 16px 40px #25351e13;
  transform:rotate(3deg);
  z-index:4}
.growth-card>div:first-child {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:10px;
  line-height:1.5}
.growth-card b {
  font-weight:500}
.growth-icon {
  background:#e8f4c7;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:19px;
  width:33px;
  height:33px}
.mini-chart {
  height:68px;
  display:flex;
  align-items:end;
  gap:7px;
  margin:11px 0 12px;
  border-bottom:1px solid #e5e9dd;
  position:relative}
.mini-chart i {
  background:#d9edab;
  flex:1;
  border-radius:3px 3px 0 0;
  height:20%}
.mini-chart i:nth-child(2) {
  height:30%}
.mini-chart i:nth-child(3) {
  height:40%}
.mini-chart i:nth-child(4) {
  height:52%}
.mini-chart i:nth-child(5) {
  height:65%}
.mini-chart i:nth-child(6) {
  height:80%}
.mini-chart i:nth-child(7) {
  height:100%;
  background:#a1c549}
.mini-chart>span {
  position:absolute;
  top:-3px;
  left:2px;
  font-size:30px;
  color:#718e30}
.chart-caption {
  font-size:5.5px;
  letter-spacing:.7px}
.design-seal {
  position:absolute;
  right:0;
  bottom:84px;
  background:#dafa76;
  width:112px;
  height:112px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transform:rotate(14deg);
  box-shadow:0 6px 15px #58662710}
.design-seal span {
  font-size:8px;
  letter-spacing:2px}
.design-seal b {
  font-size:43px;
  font-weight:400;
  line-height:1.1}
.art-foot {
  position:absolute;
  right:8px;
  bottom:8px;
  display:flex;
  align-items:center;
  gap:20px;
  font-size:6px;
  letter-spacing:1px;
  color:#898e7c}
.art-foot>span {
  font-size:20px}
.expertise-strip {
  border-block:1px solid #dcded3;
  padding-block:22px}
.expertise-strip .container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px}
.expertise-strip span {
  font-size:10px;
  letter-spacing:1.5px;
  white-space:nowrap}
.expertise-strip b {
  font-size:23px;
  color:#91a762;
  font-weight:400}
.section {
  padding-block:104px}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:44px}
.section-heading .eyebrow,.section-copy .eyebrow {
  margin-bottom:24px}
.section-heading h2 {
  margin-bottom:0}
.section-heading>p {
  color:#777b6f;
  font-size:14px;
  margin-bottom:3px}
.muted {
  color:#8c9082}
.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px}
.service-card {
  padding:28px;
  background:#fdfdf8;
  border:1px solid #dddfd4;
  border-radius:8px;
  display:flex;
  flex-direction:column;
  min-height:295px;
  transition:transform .2s,border-color .2s}
.service-card:hover {
  transform:translateY(-4px);
  border-color:#a7b783}
.card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:36px}
.service-icon {
  font-size:27px;
  line-height:1}
.card-number {
  font-size:10px;
  color:#999f8e}
.service-card h3 {
  font-size:24px;
  margin-bottom:13px}
.service-card p {
  font-size:13px;
  color:#777b6f;
  line-height:1.7;
  max-width:290px;
  margin-bottom:26px}
.card-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:10px;
  margin-top:auto;
  font-weight:600}
.card-bottom svg {
  width:17px;
  height:17px}
.service-card-lime {
  background:#def582;
  border-color:#def582;
  position:relative}
.service-card-lime h3 {
  font-size:32px;
  line-height:1.12;
  margin-top:24px;
  letter-spacing:-1px}
.service-card-lime .eyebrow {
  font-size:8px}
.circle-link {
  position:absolute;
  bottom:26px;
  right:28px;
  width:42px;
  height:42px;
  border:1px solid #717c49;
  border-radius:50%;
  display:grid;
  place-items:center}
.split-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:95px;
  align-items:center}
.web-section {
  padding-top:25px}
.web-visual {
  height:510px;
  background:#e8ebdf;
  border-radius:10px;
  position:relative;
  overflow:hidden}
.visual-caption {
  position:absolute;
  top:30px;
  left:28px;
  font-size:8px;
  letter-spacing:1.4px;
  color:#7d856e}
.desktop-mock {
  position:absolute;
  left:35px;
  top:112px;
  right:35px;
  background:#fcfcf8;
  border:1px solid #d1d7c4;
  border-radius:7px;
  box-shadow:0 20px 35px #39492115;
  transform:rotate(-4deg);
  overflow:hidden}
.device-top {
  display:flex;
  justify-content:space-between;
  font-size:6px;
  color:#8b927f;
  padding:11px;
  border-bottom:1px solid #e1e6d7}
.device-body {
  padding:28px 24px}
.device-body>b {
  font-size:27px;
  letter-spacing:-1px;
  line-height:1.08;
  font-weight:500}
.device-body>b>span {
  color:#8b937b}
.device-pill {
  display:block;
  width:fit-content;
  background:#dafa76;
  font-size:6px;
  padding:7px;
  margin-top:14px}
.device-tiles {
  display:flex;
  gap:8px;
  margin-top:23px}
.device-tiles i {
  height:55px;
  flex:1;
  background:#e8ecd9;
  border-radius:3px}
.device-tiles i:nth-child(2) {
  background:#d2d9c2}
.device-tiles i:nth-child(3) {
  background:#afbca0}
.phone-mock {
  position:absolute;
  top:184px;
  right:24px;
  width:133px;
  height:248px;
  border:5px solid #2a3022;
  border-radius:22px;
  background:#f4f6eb;
  box-shadow:6px 20px 25px #3e4b3225;
  transform:rotate(8deg);
  padding:23px 12px;
  overflow:hidden}
.phone-speaker {
  position:absolute;
  top:5px;
  left:39px;
  background:#2a3022;
  width:43px;
  height:8px;
  border-radius:8px}
.phone-mock>span {
  font-size:7px;
  font-weight:bold}
.phone-mock>b {
  display:block;
  font-size:23px;
  line-height:1;
  letter-spacing:-1px;
  margin-top:20px;
  font-weight:500}
.phone-mock em {
  font-family:Georgia,serif}
.phone-button {
  display:block;
  background:#dafa76;
  padding:7px;
  margin-top:13px;
  font-size:5px!important}
.phone-shape {
  font-size:67px;
  color:#9db755;
  line-height:1.2}
.visual-tag {
  position:absolute;
  bottom:30px;
  left:28px;
  font-size:10px;
  color:#626d50}
.section-copy>p {
  font-size:14px;
  color:#74796a;
  max-width:390px}
.check-list {
  list-style:none;
  padding:0;
  margin:26px 0 31px}
.check-list li {
  font-size:12px;
  margin:14px 0;
  display:flex;
  gap:11px}
.check-list li:before {
  content:'✓';
  color:#789238}
.marketing-section {
  background:#252a22;
  color:#f7f8ee}
.marketing-section h2>span {
  color:#aeb6a4}
.marketing-section .eyebrow {
  color:#c3d997}
.marketing-section .section-copy>p {
  color:#b3bbaa;
  margin-bottom:29px}
.marketing-path>a {
  display:flex;
  align-items:center;
  gap:20px;
  border-bottom:1px solid #4a5142;
  padding:30px 0}
.path-number {
  font-size:10px;
  color:#a0b47d;
  align-self:flex-start;
  margin-top:7px}
.marketing-path h3 {
  font-size:26px;
  margin-bottom:8px}
.marketing-path p {
  font-size:12px;
  color:#afb8a3;
  margin-bottom:0}
.marketing-path>a>svg {
  margin-left:auto;
  width:18px;
  color:#cee68c}
.marketing-path>a:hover h3 {
  color:#dafa76}
.path-note {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  color:#b5bfa8;
  margin-top:28px}
.path-note .status-dot {
  background:#dafa76}
.process-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  list-style:none;
  padding:0;
  margin:60px 0 0;
  gap:28px}
.step-top {
  border-top:1px solid #cfd4c4;
  padding-top:19px;
  display:flex;
  justify-content:space-between;
  color:#8a9775;
  font-size:11px;
  margin-bottom:29px}
.step-top>span:last-child {
  font-size:18px}
.process-grid h3 {
  font-size:21px;
  margin-bottom:13px}
.process-grid p {
  font-size:12px;
  color:#777d6d}
.why-section {
  padding-top:30px}
.benefits-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px}
.benefits-grid article {
  padding-top:20px}
.benefits-grid article>span {
  font-size:27px;
  color:#6f8152;
  display:block;
  margin-bottom:25px}
.benefits-grid h3 {
  font-size:18px;
  margin-bottom:12px}
.benefits-grid p {
  font-size:12px;
  color:#767d6c;
  max-width:245px}
.portfolio-section {
  border-top:1px solid #dcded3}
.portfolio-placeholder {
  background:#e9ece1;
  min-height:300px;
  display:flex;
  gap:80px;
  align-items:center;
  padding:46px 65px;
  border-radius:9px;
  position:relative;
  overflow:hidden}
.portfolio-mark {
  font-weight:800;
  font-size:210px;
  line-height:1;
  letter-spacing:-15px;
  color:#c1cbb0;
  position:relative}
.portfolio-mark span {
  font-size:85px;
  position:absolute;
  right:-42px;
  top:3px;
  font-weight:400}
.portfolio-placeholder .eyebrow {
  font-size:8px;
  color:#717d60;
  margin-bottom:20px}
.portfolio-placeholder h3 {
  font-size:30px;
  line-height:1.15;
  letter-spacing:-1px;
  margin-bottom:15px}
.portfolio-placeholder p {
  font-size:12px;
  color:#747d68}
.portfolio-placeholder .text-link {
  font-size:12px}
.placeholder-index {
  position:absolute;
  right:25px;
  bottom:20px;
  font-size:7px;
  letter-spacing:1px;
  color:#7c886c}
.final-cta {
  background:#def582;
  overflow:hidden}
.cta-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px}
.final-cta .eyebrow {
  margin-bottom:27px}
.final-cta h2 {
  font-size:clamp(39px,4.8vw,68px);
  letter-spacing:-3px}
.serif {
  font-family:Georgia,serif;
  font-style:italic}
.final-cta p {
  font-size:14px;
  color:#59613f;
  margin-bottom:29px}
.cta-orbit {
  width:265px;
  height:265px;
  border:1px solid #7e953e;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
  margin-right:35px}
.cta-orbit:before,.cta-orbit:after {
  content:'';
  position:absolute;
  inset:18px -18px;
  border:1px solid #95ad54;
  border-radius:50%;
  transform:rotate(-40deg)}
.cta-orbit:after {
  inset:-18px 18px;
  transform:rotate(-40deg)}
.cta-orbit>span {
  font-size:140px;
  font-weight:400;
  line-height:1}
.site-footer {
  padding-top:66px}
.footer-top {
  display:grid;
  grid-template-columns:1.6fr 1fr .8fr 1.2fr;
  gap:40px;
  padding-bottom:55px}
.footer-brand>p {
  font-size:19px;
  line-height:1.3;
  letter-spacing:-.4px;
  margin:23px 0}
.country {
  font-size:9px;
  color:#7d8570}
.country>span {
  margin-right:4px}
.footer-top h2 {
  font-size:10px;
  letter-spacing:.2px;
  font-weight:600;
  margin:8px 0 25px}
.footer-top>div>a:not(.logo):not(.text-link) {
  font-size:11px;
  color:#717969;
  display:block;
  margin:14px 0}
.footer-top a:hover {
  text-decoration:underline;
  text-underline-offset:4px}
.footer-connect>p {
  font-size:21px;
  line-height:1.3;
  letter-spacing:-.5px}
.footer-connect .text-link {
  font-size:11px;
  gap:16px}
.footer-bottom {
  padding-block:23px;
  border-top:1px solid #dcded3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:8px;
  color:#7f8774;
  gap:20px}
.footer-bottom>a {
  font-size:17px}
.menu-toggle {
  display:none}
.skip-link {
  position:fixed;
  left:15px;
  top:-80px;
  background:#dcfa72;
  padding:15px;
  z-index:100}
.skip-link:focus {
  top:10px}
.inner-hero {
  padding-block:75px 68px;
  border-bottom:1px solid #dcded3}
.breadcrumb {
  display:flex;
  gap:12px;
  font-size:11px;
  color:#747d68;
  margin-bottom:50px}
.breadcrumb a {
  text-decoration:underline;
  text-underline-offset:3px}
.inner-hero h1 {
  font-size:clamp(46px,6.5vw,90px);
  line-height:1.03;
  letter-spacing:-4px;
  max-width:1000px;
  margin:28px 0}
.inner-hero p {
  font-size:18px;
  max-width:620px;
  color:#707966}
.inner-hero .button {
  margin-top:13px}
.details-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px}
.detail-card {
  border-top:1px solid #cbd2c0;
  padding-top:23px}
.detail-card>span {
  font-size:11px;
  color:#7d8b68}
.detail-card h3 {
  font-size:26px;
  margin:25px 0 17px}
.detail-card p {
  color:#747d68;
  font-size:14px}
.info-band {
  padding:36px;
  background:#e8ecde;
  border-radius:8px;
  margin-top:55px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px}
.info-band h3 {
  font-size:24px;
  margin-bottom:9px}
.info-band p {
  font-size:13px;
  margin-bottom:0;
  max-width:600px;
  color:#6e7960}
.faq {
  max-width:900px}
.faq details {
  border-bottom:1px solid #d2d8c7;
  padding:24px 0}
.faq summary {
  cursor:pointer;
  font-size:20px;
  line-height:1.4}
.faq details p {
  font-size:14px;
  color:#747d68;
  margin:18px 0 4px;
  max-width:740px}
.contact-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:100px}
.contact-aside h2 {
  font-size:38px}
.contact-aside p {
  font-size:14px;
  color:#747d68}
.contact-steps {
  list-style:none;
  padding:0;
  font-size:13px}
.contact-steps li {
  padding:19px 0;
  border-bottom:1px solid #d8dece}
.contact-steps span {
  color:#7b8c60;
  margin-right:20px}
.button:disabled {
  opacity:.45;
  cursor:not-allowed;
  transform:none}
.reveal-ready {
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s,transform .6s}
.reveal-ready.is-visible {
  opacity:1;
  transform:none}

@media(min-width:1550px) {
  .hero {
  padding-block:90px}
.hero-art {
  height:580px}
.mock-browser {
  top:125px}
.growth-card {
  bottom:50px}
}

@media(max-width:1100px) {
  .container {
  width:calc(100% - 64px)}
.hero h1 {
  font-size:61px;
  letter-spacing:-3.5px}
.hero {
  gap:15px}
.hero-art {
  height:500px}
.mock-browser {
  top:100px}
.mock-main strong {
  font-size:26px}
.sculpture {
  right:-52px;
  transform:rotate(24deg) scale(.85)}
.hero-actions {
  gap:17px;
  flex-wrap:wrap}
.split-section {
  gap:50px}
.growth-card {
  left:0;
  bottom:30px;
  width:190px}
.design-seal {
  width:96px;
  height:96px;
  right:-5px;
  bottom:60px}
.section {
  padding-block:80px}
.section-heading p {
  font-size:12px}
.web-section {
  padding-top:10px}
.service-card {
  padding:23px}
.service-card h3 {
  font-size:21px}
.expertise-strip span {
  font-size:8px;
  letter-spacing:1px}
.process-grid {
  gap:20px}
.footer-top {
  gap:24px}
.contact-layout {
  gap:50px}
}

@media(max-width:800px) {
  .container {
  width:calc(100% - 40px)}
.site-header {
  height:84px}
.logo {
  font-size:44px}
.menu-toggle {
  display:flex;
  gap:13px;
  align-items:center;
  border:1px solid #cdd3c1;
  background:transparent;
  padding:11px 13px;
  border-radius:4px;
  font-size:12px}
.menu-bars {
  width:15px;
  height:10px;
  border-block:1px solid currentColor}
.site-header nav {
  position:absolute;
  top:83px;
  left:0;
  right:0;
  background:#f6f6ef;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:14px 20px 25px;
  border-bottom:1px solid #d4dac9;
  box-shadow:0 15px 20px #26331a08}
.js .site-header nav:not(.is-open) {
  display:none}
html:not(.js) .site-header {
  height:auto;
  min-height:84px}
html:not(.js) .header-inner {
  flex-wrap:wrap;
  padding-top:20px}
html:not(.js) .site-header nav {
  position:static;
  width:100%;
  box-shadow:none}
html:not(.js) .menu-toggle {
  display:none}
.site-header nav>a {
  padding:17px 7px}
.site-header nav>.button {
  margin-top:10px}
.hero {
  grid-template-columns:1fr;
  padding-top:45px;
  padding-bottom:35px}
.hero h1 {
  font-size:clamp(53px,8.5vw,74px);
  letter-spacing:-3.8px}
.hero-copy>p {
  font-size:15px}
.hero-art {
  height:480px;
  max-width:560px;
  width:100%;
  justify-self:center;
  margin-top:12px}
.mock-browser {
  left:8%;
  width:84%;
  top:87px}
.mock-main strong {
  font-size:32px}
.sculpture {
  right:-10px;
  transform:rotate(24deg)}
.growth-card {
  left:3%;
  bottom:11px}
.chip-top {
  right:5%;
  top:34px}
.design-seal {
  right:5%;
  bottom:44px}
.art-label {
  top:5px}
.art-foot {
  bottom:-8px;
  right:15px}
.expertise-strip {
  padding-block:18px}
.expertise-strip .container {
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 20px}
.expertise-strip span {
  font-size:8px;
  letter-spacing:.8px}
.expertise-strip b {
  font-size:17px}
.expertise-strip b:last-child {
  display:none}
.section {
  padding-block:64px}
.section-heading {
  align-items:start;
  flex-direction:column;
  gap:22px;
  margin-bottom:32px}
.section-heading p br {
  display:none}
.section-heading>p {
  max-width:390px;
  font-size:14px}
.services-grid {
  grid-template-columns:repeat(2,1fr)}
.service-card {
  min-height:280px}
.split-section {
  grid-template-columns:1fr;
  gap:40px}
.web-visual {
  height:430px;
  order:2;
  max-width:580px;
  width:100%}
.web-section {
  padding-top:0}
.desktop-mock {
  max-width:420px;
  top:88px}
.phone-mock {
  top:140px;
  right:45px}
.section-copy h2 br {
  display:none}
.section-copy h2 {
  max-width:530px}
.section-copy>p {
  max-width:520px}
.marketing-path>a:first-child {
  padding-top:0}
.process-grid {
  grid-template-columns:repeat(3,1fr);
  gap:27px;
  margin-top:40px}
.benefits-grid {
  grid-template-columns:repeat(2,1fr)}
.why-section {
  padding-top:0}
.portfolio-placeholder {
  padding:36px;
  gap:40px}
.portfolio-mark {
  font-size:155px}
.portfolio-mark span {
  font-size:65px;
  right:-32px}
.portfolio-placeholder h3 {
  font-size:27px}
.portfolio-placeholder p {
  font-size:11px}
.placeholder-index {
  font-size:6px;
  bottom:10px}
.cta-orbit {
  width:170px;
  height:170px;
  margin-right:10px;
  flex-shrink:0}
.cta-orbit>span {
  font-size:95px}
.final-cta h2 {
  font-size:47px}
.final-cta p {
  max-width:340px}
.footer-top {
  grid-template-columns:1.2fr 1fr;
  gap:36px}
.footer-bottom {
  flex-wrap:wrap;
  font-size:8px}
.footer-bottom>span:nth-child(2) {
  display:none}
.inner-hero {
  padding-block:42px}
.inner-hero h1 {
  letter-spacing:-2.5px}
.inner-hero p {
  font-size:16px}
.details-grid {
  grid-template-columns:1fr;
  gap:25px}
.detail-card h3 {
  margin-top:15px}
.info-band {
  flex-direction:column;
  align-items:start;
  padding:25px}
.contact-layout {
  grid-template-columns:1fr;
  gap:35px}
.contact-aside h2 {
  font-size:33px}
.faq summary {
  font-size:17px}
}

@media(max-width:480px) {
  h2 {
  font-size:37px;
  letter-spacing:-1.9px}
.hero h1 {
  font-size:54px;
  letter-spacing:-3.2px}
.hero-copy>p {
  font-size:14px}
.desktop-break {
  display:none}
.hero-actions {
  gap:21px}
.hero-actions .button {
  font-size:12px;
  gap:20px;
  padding:16px 18px}
.hero-actions .text-link {
  font-size:12px;
  gap:10px}
.hero-note {
  font-size:9px;
  margin-top:25px}
.eyebrow {
  font-size:9px;
  letter-spacing:1.5px}
.hero-art {
  height:392px;
  margin-top:23px}
.mock-browser {
  top:69px;
  left:3%;
  width:94%}
.mock-content {
  padding:17px 15px 10px}
.mock-main {
  margin:32px 0 22px}
.mock-main strong {
  font-size:27px}
.mock-nav>span {
  font-size:5px}
.sculpture {
  right:-46px;
  top:42px;
  transform:rotate(24deg) scale(.8)}
.chip-top {
  top:16px;
  right:2%;
  padding:11px;
  font-size:9px}
.growth-card {
  width:169px;
  padding:12px;
  bottom:5px;
  left:0}
.mini-chart {
  height:48px}
.growth-card>div:first-child {
  font-size:8px}
.chart-caption {
  font-size:4.4px}
.design-seal {
  right:0;
  bottom:30px;
  width:82px;
  height:82px}
.design-seal span {
  font-size:6px}
.design-seal b {
  font-size:31px}
.art-label {
  font-size:6px;
  left:10px;
  top:-8px}
.art-foot {
  font-size:4px;
  bottom:-14px;
  gap:8px}
.expertise-strip .container {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:13px 7px;
  text-align:center}
.expertise-strip b:nth-child(4),.expertise-strip b:last-child {
  display:none}
.expertise-strip span {
  font-size:7px}
.expertise-strip b:nth-child(6) {
  grid-column:2;
  grid-row:2}
.expertise-strip span:nth-child(7) {
  grid-column:3;
  grid-row:2}
.services-grid {
  gap:10px}
.service-card {
  padding:19px 15px;
  min-height:285px}
.service-card h3 {
  font-size:20px;
  letter-spacing:-.6px}
.service-card p {
  font-size:11px}
.service-icon {
  font-size:24px}
.card-top {
  margin-bottom:28px}
.card-bottom {
  font-size:9px}
.service-card-lime h3 {
  font-size:26px}
.service-card-lime .eyebrow {
  font-size:6px}
.circle-link {
  right:17px;
  bottom:21px}
.web-visual {
  height:365px}
.desktop-mock {
  left:19px;
  right:19px;
  top:72px}
.device-body {
  padding:23px 17px}
.device-body>b {
  font-size:23px}
.phone-mock {
  width:110px;
  height:210px;
  right:20px;
  top:119px;
  padding:22px 9px}
.phone-mock>b {
  font-size:19px;
  margin-top:15px}
.phone-speaker {
  left:29px;
  width:35px}
.phone-shape {
  font-size:47px}
.visual-caption {
  font-size:6px;
  left:22px;
  top:23px}
.visual-tag {
  font-size:8px;
  left:21px;
  bottom:16px}
.marketing-path h3 {
  font-size:24px}
.marketing-path p {
  font-size:11px}
.marketing-path>a {
  gap:14px}
.process-grid {
  grid-template-columns:1fr;
  gap:8px}
.process-grid li {
  display:grid;
  grid-template-columns:46px 1fr;
  column-gap:18px;
  border-top:1px solid #cfd4c4;
  padding:20px 0}
.step-top {
  grid-row:1/3;
  padding:0;
  margin:0;
  border:0;
  align-items:start;
  flex-direction:column;
  justify-content:start;
  gap:15px}
.process-grid h3 {
  margin-bottom:8px}
.process-grid p {
  margin:0;
  max-width:270px}
.benefits-grid {
  gap:24px 17px}
.benefits-grid h3 {
  font-size:17px;
  line-height:1.2}
.benefits-grid p {
  font-size:11px}
.portfolio-placeholder {
  padding:30px 25px 43px;
  gap:20px}
.portfolio-mark {
  display:none}
.portfolio-placeholder h3 {
  font-size:29px}
.portfolio-placeholder p {
  font-size:12px}
.cta-orbit {
  display:none}
.final-cta h2 {
  font-size:44px;
  letter-spacing:-2.5px}
.final-cta p {
  font-size:13px}
.footer-top {
  gap:30px 23px}
.footer-brand {
  grid-column:1/-1}
.footer-brand>p {
  margin:17px 0}
.footer-connect {
  grid-column:1/-1}
.footer-connect>p {
  font-size:25px}
.site-footer {
  padding-top:43px}
.footer-top h2 {
  margin-bottom:20px}
.footer-bottom {
  line-height:1.6}
.inner-hero h1 {
  font-size:48px;
  letter-spacing:-2.7px}
.breadcrumb {
  margin-bottom:35px}
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
*,*:before,*:after {
  animation:none!important;
  transition:none!important}
.reveal-ready {
  opacity:1;
  transform:none}
}


.logo-dot {
  font-size:0;
  display:inline-block;
  width:7px;
  height:7px;
  background:#91ac47;
  border-radius:50%;
  vertical-align:baseline;
  top:0;
  margin-left:5px}

@media(max-width:360px) {
  .hero h1 {
  font-size:41px;
  letter-spacing:-2.8px}
.hero-actions {
  gap:17px}
.hero-actions .button {
  min-height:51px;
  padding:14px}
.services-grid {
  grid-template-columns:1fr}
.service-card {
  min-height:240px}
.service-card p {
  font-size:13px}
.benefits-grid {
  grid-template-columns:1fr}
.benefits-grid p {
  font-size:13px;
  max-width:none}
.final-cta h2 {
  font-size:38px}
}

.whatsapp-card { background:#e8ecde; border:1px solid #d2dac4; border-radius:10px; padding:42px; align-self:start; }
.whatsapp-card .eyebrow { margin-bottom:30px; }
.whatsapp-card h2 { font-size:clamp(32px,3.2vw,46px); letter-spacing:-1.8px; }
.whatsapp-card p { color:#657357; font-size:15px; max-width:390px; }
.whatsapp-number { display:block; width:fit-content; font-size:clamp(21px,2.4vw,29px); letter-spacing:-.6px; margin:27px 0; }
.whatsapp-number:hover { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:480px) { .whatsapp-card { padding:27px 22px; } .whatsapp-card .button { width:100%; gap:15px; font-size:12px; padding-inline:15px; } }
