:root {
  --paper:#f6f6f0;
  --ink:#171b17;
  --muted:#60665e;
  --lime:#d2f866;
  --line:#d9ddd2;
  --dark:#171e19;
  font-family:'DM Sans',Arial,sans-serif;
  color:var(--ink);
  background:var(--paper)
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}

body {
  margin:0
}

a {
  color:inherit;
  text-decoration:none
}

button,input,textarea {
  font:inherit
}

button,a {
  touch-action:manipulation
}

button {
  cursor:pointer
}

img {
  display:block;
  max-width:100%;
  object-fit:cover
}

h1,h2,h3,h4,p {
  margin:0
}

h1,h2,h3,.footer-logo {
  font-family:'Space Grotesk',Arial,sans-serif
}

h1 {
  font-size:clamp(48px,5.8vw,86px);
  line-height:1.01;
  letter-spacing:-.065em;
  font-weight:500
}

h2 {
  font-size:clamp(36px,4vw,56px);
  line-height:1.08;
  letter-spacing:-.05em;
  font-weight:500
}

h3 {
  font-size:26px;
  line-height:1.2;
  letter-spacing:-.035em;
  font-weight:500
}

p {
  font-size:16px;
  line-height:1.7;
  color:var(--muted)
}

button:disabled {
  opacity:.6;
  cursor:wait
}

:focus-visible {
  outline:3px solid #527d10;
  outline-offset:5px
}

[hidden] {
  display:none!important
}

.wrap {
  width:min(1320px,calc(100% - 112px));
  margin-inline:auto
}

.section {
  padding-block:100px
}

.eyebrow {
  font-size:11px;
  font-weight:600;
  letter-spacing:.15em;
  color:var(--ink);
  line-height:1.6;
  margin-bottom:22px
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:18px 24px;
  min-height:56px;
  border:1px solid transparent;
  border-radius:9px;
  background:var(--lime);
  color:var(--ink);
  font-size:14px;
  font-weight:600;
  transition:background .2s,transform .2s
}

.button:hover {
  background:#bfeb4b;
  transform:translateY(-2px)
}

.button span {
  font-size:22px;
  line-height:1
}

.button.outline {
  background:transparent;
  border-color:#626b5e;
  color:inherit
}

.text-link {
  display:inline-flex;
  gap:18px;
  align-items:center;
  font-size:14px;
  font-weight:600;
  border-bottom:1px solid var(--ink);
  padding-block:12px
}

.text-link span {
  font-size:22px
}

.site-header {
  height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 40px;
  background:rgba(246,246,240,.96);
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px)
}

.brand {
  display:flex;
  align-items:center;
  gap:13px
}

.brand-monogram {
  font-family:'Space Grotesk',sans-serif;
  font-size:36px;
  letter-spacing:-3px;
  font-weight:700
}

.brand-monogram>span {
  font-size:22px;
  letter-spacing:-2px
}

.brand-caption {
  border-left:1px solid #b9c1b0;
  padding-left:13px;
  font-size:9px;
  letter-spacing:.07em;
  line-height:1.6;
  font-weight:700
}

.desktop-nav {
  display:flex;
  gap:30px;
  font-size:13px
}

.desktop-nav a {
  padding:12px 0;
  position:relative
}

.desktop-nav a[aria-current=page]:after {
  content:'';
  position:absolute;
  bottom:3px;
  left:0;
  width:16px;
  height:3px;
  background:#7d9e36
}

.header-cta {
  padding:12px 18px;
  min-height:44px;
  background:var(--ink);
  color:white;
  font-size:12px
}

.header-cta:hover {
  background:#334330
}

.menu-toggle {
  display:none
}

.home-hero {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:64px;
  padding-block:54px 62px;
  align-items:center
}

.hero-copy {
  padding-block:20px
}

.hero-copy h1 {
  max-width:680px
}

.status-dot {
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:9px;
  background:#7c9f2b;
  border-radius:50%;
  box-shadow:0 0 0 4px #e6edda
}

.hero-intro {
  font-size:18px;
  line-height:1.65;
  max-width:540px;
  margin-top:26px
}

.hero-actions {
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:32px
}

.hero-foot {
  display:flex;
  gap:25px;
  border-top:1px solid var(--line);
  margin-top:46px;
  padding-top:20px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.07em;
  color:var(--muted)
}

.hero-visual {
  height:570px;
  border-radius:20px;
  overflow:hidden;
  position:relative;
  background:#202820
}

.hero-visual>img {
  width:100%;
  height:100%;
  object-position:center
}

.hero-visual:after,.page-hero-image:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#10201818 35%,#09180ede);
  pointer-events:none
}

.image-label {
  position:absolute;
  top:25px;
  left:26px;
  color:white;
  font-size:9px;
  letter-spacing:.13em;
  z-index:1;
  background:#17211955;
  padding:9px 12px;
  border:1px solid #ffffff50;
  border-radius:30px;
  backdrop-filter:blur(8px)
}

.image-caption {
  position:absolute;
  bottom:32px;
  left:30px;
  right:30px;
  color:white;
  display:flex;
  justify-content:space-between;
  align-items:end;
  z-index:1;
  font-size:17px;
  line-height:1.5
}

.image-caption strong {
  font-weight:500;
  color:var(--lime)
}

.image-caption a,.round-arrow {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--paper);
  color:var(--ink);
  font-size:24px
}

.image-caption a {
  background:var(--lime)
}

.capability-band {
  background:var(--lime);
  display:flex;
  gap:34px;
  justify-content:space-around;
  align-items:center;
  padding:23px 40px;
  font-size:13px;
  flex-wrap:wrap
}

.capability-band span:first-child {
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em
}

.capability-band span:not(:first-child):before {
  content:'+';
  margin-right:15px;
  font-size:17px
}

.section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:48px;
  margin-bottom:40px
}

.section-head .eyebrow {
  margin-bottom:15px
}

.section-copy {
  max-width:320px
}

.service-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}

.service-card {
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#fff
}

.service-image {
  display:block;
  height:260px;
  position:relative;
  overflow:hidden
}

.service-image img {
  width:100%;
  height:100%;
  transition:transform .5s
}

.service-image:hover img {
  transform:scale(1.035)
}

.service-image .round-arrow {
  position:absolute;
  right:20px;
  bottom:20px
}

.service-body {
  padding:27px
}

.index {
  font-size:11px;
  color:#717969;
  display:block;
  margin-bottom:20px
}

.service-body h3 {
  min-height:62px
}

.service-body p {
  font-size:14px;
  margin-top:15px;
  min-height:72px
}

.service-body ul {
  padding:17px 0 0;
  margin:20px 0 0;
  list-style:none;
  border-top:1px solid var(--line);
  font-size:12px;
  color:#60665e;
  line-height:2
}

.work-section {
  background:var(--dark);
  color:var(--paper)
}

.work-section .eyebrow {
  color:var(--lime)
}

.work-section p {
  color:#b8c0b4
}

.work-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px
}

.work-card>div {
  position:relative;
  border-radius:14px;
  overflow:hidden;
  height:330px;
  background:#343b32
}

.work-card img {
  height:100%;
  width:100%;
  transition:transform .4s
}

.work-card:hover img {
  transform:scale(1.04)
}

.work-card .round-arrow {
  position:absolute;
  bottom:18px;
  right:18px
}

.work-card h3 {
  font-size:21px;
  margin:21px 0 7px
}

.work-card p {
  font-size:12px
}

.section-end {
  margin-top:40px;
  text-align:center
}

.steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:50px
}

.steps article {
  border-top:1px solid #bbc5b1;
  padding-top:28px
}

.step-number {
  font-size:65px;
  font-family:'Space Grotesk',sans-serif;
  font-weight:400;
  letter-spacing:-5px;
  color:#81916a;
  display:block;
  margin-bottom:30px
}

.steps h3 {
  font-size:23px;
  margin-bottom:15px
}

.steps p {
  font-size:15px
}

.faq-section {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:70px;
  padding-bottom:100px
}

.faq-list {
  border-top:1px solid var(--line)
}

details {
  border-bottom:1px solid var(--line);
  padding:23px 0
}

summary {
  font-weight:500;
  font-size:17px;
  cursor:pointer;
  line-height:1.5
}

details p {
  margin-top:18px;
  font-size:15px
}

.project-cta {
  border-radius:24px;
  background:var(--lime);
  padding:54px 60px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  margin-bottom:80px
}

.project-cta h2 {
  font-size:clamp(36px,4.6vw,68px)
}

.project-cta .button {
  background:var(--ink);
  color:white
}

.project-cta .eyebrow {
  margin-bottom:20px
}

.site-footer {
  background:#e8ebe1;
  padding:55px 0 25px
}

.footer-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding-bottom:46px
}

.footer-logo {
  font-size:48px;
  font-weight:700;
  letter-spacing:-3px
}

.footer-logo>span {
  font-weight:400
}

.footer-logo .footer-dot {
  color:#6b852c
}

.footer-top p {
  font-size:13px
}

.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid #c8d0bf;
  padding-top:25px;
  font-size:11px;
  color:#626a5b
}

.footer-bottom nav {
  display:flex;
  flex-wrap:wrap;
  gap:25px
}

.page-hero {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  align-items:center;
  gap:65px;
  padding-block:65px
}

.page-hero h1 {
  font-size:clamp(50px,6vw,86px)
}

.page-hero-image {
  height:320px;
  position:relative;
  overflow:hidden;
  border-radius:20px
}

.page-hero-image img {
  width:100%;
  height:100%
}

.service-jump {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-block:1px solid var(--line)
}

.service-jump a {
  font-size:13px;
  padding:23px 12px
}

.service-jump a:hover {
  background:#e5ebd9
}

.service-detail {
  padding-block:90px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
  border-bottom:1px solid var(--line)
}

.detail-image {
  position:sticky;
  top:120px;
  border-radius:20px;
  overflow:hidden;
  height:550px
}

.detail-image>img {
  width:100%;
  height:100%
}

.detail-copy h2 {
  margin-bottom:25px
}

.lead {
  font-size:18px;
  line-height:1.7
}

.detail-copy>h3 {
  margin-top:30px;
  font-size:14px;
  font-family:inherit;
  font-weight:600
}

.tags {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:18px
}

.tags span {
  font-size:12px;
  border:1px solid var(--line);
  padding:9px 13px;
  border-radius:30px
}

.application-list>div {
  padding:19px 0;
  border-bottom:1px solid var(--line)
}

.application-list h4 {
  font-size:15px;
  font-weight:600;
  margin-bottom:6px
}

.application-list p {
  font-size:14px
}

.pricing {
  padding:24px 0
}

.pricing h3 {
  font-size:14px;
  font-family:inherit;
  font-weight:600;
  margin-bottom:8px
}

.pricing p {
  font-size:14px
}

.material-gallery {
  padding-block:65px 85px
}

.material-gallery>div {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}

.material-gallery img {
  width:100%;
  height:250px;
  border-radius:14px
}

.story-section {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:80px;
  padding-block:50px 65px;
  border-top:1px solid var(--line)
}

.story-section p+p,.mission-section p+p {
  margin-top:24px
}

.about-photo {
  height:460px;
  overflow:hidden;
  border-radius:20px
}

.about-photo img {
  width:100%;
  height:100%
}

.mission-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  padding-block:100px
}

.mission-section img {
  height:420px;
  width:100%;
  border-radius:20px
}

.mission-section h2 {
  margin-bottom:24px
}

.team-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  padding-bottom:100px
}

.team-section article {
  background:#e8ebe1;
  border-radius:20px;
  overflow:hidden
}

.team-section img {
  width:100%;
  height:400px;
  object-position:center 30%
}

.team-section article>div {
  padding:25px
}

.team-section article p {
  margin-top:8px
}

.contact-layout {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:65px;
  padding-block:20px 100px
}

.contact-form-panel {
  padding:38px;
  background:white;
  border:1px solid var(--line);
  border-radius:20px
}

.contact-layout h2 {
  font-size:32px;
  margin-bottom:15px
}

.contact-layout .eyebrow {
  font-size:10px
}

form {
  margin-top:30px
}

#contact-form {
  display:grid;
  gap:22px
}

.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}

label {
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:9px
}

input,textarea {
  width:100%;
  padding:14px;
  border:1px solid #cbd2c4;
  border-radius:8px;
  background:#fafbf7;
  color:var(--ink);
  font-size:14px;
  min-height:48px
}

textarea {
  resize:vertical;
  line-height:1.7
}

input:focus,textarea:focus {
  outline:2px solid #769c39;
  outline-offset:2px
}

#contact-form .button {
  justify-content:space-between
}

#contact-status {
  font-size:14px;
  overflow-wrap:anywhere
}

#contact-status:empty {
  display:none
}

.contact-details {
  padding:25px 0
}

.contact-item {
  padding:22px 0;
  border-bottom:1px solid var(--line)
}

.contact-item h3 {
  font-family:inherit;
  font-size:11px;
  color:var(--muted);
  margin-bottom:10px
}

.contact-item a {
  font-size:21px;
  letter-spacing:-.03em;
  overflow-wrap:anywhere
}

.contact-map {
  height:220px;
  width:100%;
  border-radius:14px;
  margin-top:25px
}

.portfolio-section {
  padding-bottom:100px
}

.portfolio-intro {
  display:flex;
  justify-content:space-between;
  gap:30px;
  border-top:1px solid var(--line);
  padding:25px 0 35px
}

.portfolio-intro p {
  font-size:13px
}

.portfolio-intro .eyebrow {
  margin:0;
  font-size:10px
}

.project-list {
  display:grid;
  gap:55px
}

.portfolio-project {
  border:1px solid var(--line);
  background:white;
  border-radius:20px;
  overflow:hidden
}

.project-media {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line)
}

.project-media.photo-only {
  grid-template-columns:1fr
}

.project-photo {
  width:100%;
  height:360px;
  object-fit:cover
}

.model-stage {
  position:relative;
  min-width:0;
  height:360px;
  background:#e9eee1;
  padding:15px
}

.model-stage canvas {
  width:100%;
  height:100%;
  display:block;
  border-radius:10px
}

.viewer-status {
  position:absolute;
  bottom:13px;
  left:15px;
  right:15px;
  font-size:10px;
  text-align:center;
  color:#293724;
  background:#e9eee1e8;
  border-radius:6px;
  padding:7px;
  pointer-events:none
}

.project-description {
  padding:30px 35px;
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:30px
}

.project-description p {
  font-size:15px
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:100;
  background:var(--lime);
  padding:15px;
  border-radius:8px
}

.skip-link:focus {
  top:12px
}

#mobile-menu {
  position:fixed;
  inset:0;
  z-index:60;
  background:var(--paper);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:25px;
  font-size:30px
}

#mobile-menu.opacity-0 {
  opacity:0;
  visibility:hidden
}

#mobile-menu.pointer-events-none {
  pointer-events:none
}

#close-btn {
  position:absolute;
  right:25px;
  top:20px;
  width:48px;
  height:48px;
  font-size:35px;
  border:1px solid var(--line);
  border-radius:50%;
  background:transparent
}

#mobile-menu a[aria-current=page] {
  text-decoration:underline;
  text-decoration-color:#8eaa4c;
  text-underline-offset:8px
}

@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 64px)
  }

  .site-header {
    padding-inline:25px
  }

  .desktop-nav {
    gap:20px
  }

  .brand-caption {
    display:none
  }

  .home-hero {
    gap:35px
  }

  .hero-visual {
    height:500px
  }

  .hero-foot {
    gap:15px
  }

  .hero-actions {
    gap:18px
  }

  .service-body {
    padding:22px
  }

  .service-body h3 {
    font-size:23px
  }

  .work-card>div {
    height:270px
  }

  .service-detail {
    gap:40px
  }

  .detail-image {
    height:500px
  }

  .contact-layout {
    gap:35px
  }

  .contact-form-panel {
    padding:27px
  }

  .form-row {
    grid-template-columns:1fr
  }

  .page-hero {
    gap:40px
  }

  .team-section,.mission-section,.story-section {
    gap:45px
  }

}

@media(max-width:767px) {
  html {
    scroll-padding-top:95px
  }

  .wrap {
    width:calc(100% - 40px)
  }

  .site-header {
    height:76px;
    padding:0 20px;
    gap:15px
  }

  .desktop-nav {
    display:none
  }

  .brand-monogram {
    font-size:32px
  }

  .header-cta {
    margin-left:auto;
    font-size:11px;
    padding:10px 13px;
    gap:12px;
    min-height:40px
  }

  .header-cta span {
    font-size:17px
  }

  .menu-toggle {
    display:flex;
    flex-direction:column;
    gap:6px;
    justify-content:center;
    align-items:center;
    width:40px;
    height:44px;
    background:transparent;
    border:0
  }

  .menu-toggle span {
    width:22px;
    height:2px;
    background:var(--ink)
  }

  h1 {
    font-size:55px
  }

  h2 {
    font-size:38px
  }

  .home-hero {
    grid-template-columns:1fr;
    gap:28px;
    padding-block:35px
  }

  .hero-copy {
    padding:0
  }

  .eyebrow {
    font-size:9px;
    margin-bottom:22px
  }

  .hero-intro {
    font-size:16px;
    margin-top:22px
  }

  .hero-actions {
    margin-top:25px;
    gap:20px
  }

  .button {
    min-height:52px;
    padding:15px 19px;
    font-size:12px
  }

  .hero-foot {
    margin-top:29px;
    padding-top:18px;
    justify-content:space-between;
    font-size:9px
  }

  .hero-visual {
    height:380px;
    border-radius:16px
  }

  .image-label {
    left:20px;
    top:20px;
    font-size:8px
  }

  .image-caption {
    left:23px;
    right:23px;
    bottom:24px
  }

  .capability-band {
    justify-content:start;
    gap:15px 24px;
    padding:24px 20px;
    font-size:11px
  }

  .capability-band span:first-child {
    width:100%;
    font-size:9px
  }

  .section {
    padding-block:65px
  }

  .section-head {
    display:block;
    margin-bottom:28px
  }

  .section-copy {
    margin-top:18px;
    max-width:none;
    font-size:15px
  }

  .service-grid,.work-grid,.steps {
    grid-template-columns:1fr;
    gap:26px
  }

  .service-image {
    height:280px
  }

  .service-body h3,.service-body p {
    min-height:0
  }

  .service-body h3 {
    font-size:29px
  }

  .service-body ul {
    font-size:13px
  }

  .work-card>div {
    height:340px
  }

  .work-card h3 {
    margin-top:17px
  }

  .steps {
    gap:30px
  }

  .step-number {
    margin-bottom:18px;
    font-size:55px
  }

  .faq-section {
    grid-template-columns:1fr;
    gap:28px;
    padding-bottom:65px
  }

  .project-cta {
    padding:32px 26px;
    display:block;
    margin-bottom:50px;
    border-radius:18px
  }

  .project-cta h2 {
    font-size:44px
  }

  .project-cta .button {
    margin-top:28px
  }

  .footer-top {
    align-items:start;
    flex-direction:column;
    padding-bottom:30px
  }

  .footer-logo {
    font-size:40px
  }

  .footer-bottom {
    flex-wrap:wrap;
    gap:20px
  }

  .footer-bottom nav {
    width:100%;
    order:-1;
    gap:21px
  }

  .site-footer {
    padding-top:35px
  }

  .page-hero {
    grid-template-columns:1fr;
    gap:28px;
    padding-block:40px
  }

  .page-hero h1 {
    font-size:56px
  }

  .page-hero-image {
    height:230px;
    border-radius:16px
  }

  .service-jump {
    grid-template-columns:1fr
  }

  .service-jump a {
    padding:15px 5px;
    border-bottom:1px solid var(--line);
    font-size:12px
  }

  .service-jump a:last-child {
    border:0
  }

  .service-detail {
    grid-template-columns:1fr;
    gap:30px;
    padding-block:50px
  }

  .detail-image {
    position:relative;
    top:auto;
    height:330px
  }

  .detail-copy h2 {
    font-size:38px
  }

  .lead {
    font-size:17px
  }

  .material-gallery {
    padding-block:45px 60px
  }

  .material-gallery>div {
    gap:10px
  }

  .material-gallery img {
    height:120px;
    border-radius:9px
  }

  .story-section,.mission-section,.team-section {
    grid-template-columns:1fr;
    gap:28px
  }

  .story-section {
    padding-block:30px 40px
  }

  .about-photo {
    height:260px
  }

  .mission-section {
    padding-block:60px
  }

  .mission-section img {
    height:300px
  }

  .team-section {
    padding-bottom:60px
  }

  .team-section img {
    height:350px
  }

  .contact-layout {
    grid-template-columns:1fr;
    gap:24px;
    padding-bottom:60px;
    padding-top:0
  }

  .contact-form-panel {
    padding:25px 21px
  }

  .contact-layout h2 {
    font-size:30px
  }

  .contact-details {
    padding:20px 5px
  }

  .portfolio-intro {
    display:block
  }

  .portfolio-intro p+p {
    margin-top:15px
  }

  .portfolio-section {
    padding-bottom:60px
  }

  .project-media {
    grid-template-columns:1fr
  }

  .project-photo,.model-stage {
    height:290px
  }

  .project-description {
    grid-template-columns:1fr;
    gap:16px;
    padding:25px
  }

  .project-list {
    gap:30px
  }

  .project-description h3 {
    font-size:28px
  }

  summary {
    font-size:16px
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }

}
/* Keep the actual printed parts fully visible in project photography. */
.language-switch{display:flex;align-items:center;gap:3px;flex-shrink:0}
.language-switch a{font-size:11px;min-width:31px;min-height:44px;display:grid;place-items:center;border-radius:6px;font-weight:600}
.language-switch a[aria-current=true]{background:var(--lime);color:var(--ink)}
.language-switch a:hover{background:#e5ebd9}
@media(max-width:1100px){.site-header{gap:14px}.desktop-nav{gap:16px}}
@media(max-width:767px){.site-header{gap:8px}.site-header>.header-cta{display:none}.language-switch{margin-left:auto}.language-switch a{min-width:34px}.hero-copy h1,.page-hero h1{font-size:clamp(39px,11.8vw,55px);overflow-wrap:anywhere}.service-body h3,.detail-copy h2{overflow-wrap:anywhere}}
.project-still{margin:0;position:relative;min-width:0;background:#e9eee1}
.project-still figcaption{position:absolute;left:18px;bottom:18px;font-size:10px;padding:7px 10px;border:1px solid #b6c3a9;border-radius:20px;background:#f6f6f0e8;color:#3c4c2f}
.work-card>div{background:#e8ebe3}
.work-card img,.project-photo{object-fit:contain;background:#e8ebe3}
.page-services #scanning .detail-image>img{object-fit:contain;background:#e6e9e0}
