/* Steding — daylight, steel, timber and real work. */
.home-craft {
  --ink: #202822;
  --paper: #f5f2e9;
  --orange: #ef7924;
  --accent: #a34412;
  --line: #d6d3c7;
  --muted: #505b53;
  background: var(--paper);
  color: var(--ink);
}
.home-craft .site-header {
  position: fixed;
  top: 18px;
  left: var(--gutter);
  right: var(--gutter);
  min-height: 82px;
  padding: 13px 23px;
  gap: 20px;
  background: #fffdf6e8;
  color: var(--ink);
  border: 1px solid #ffffffcf;
  border-bottom: 2px solid #c6c6b9;
  border-radius: 5px;
  box-shadow: 0 8px 32px #26322110;
  isolation: isolate;
}
.home-craft .site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  pointer-events: none;
}
.home-craft .brand img { width: 43px; height: 43px; }
.home-craft .brand-copy strong { font-size: 2rem; }
.home-craft .main-nav { gap: clamp(13px,1.8vw,28px); }
.home-craft .main-nav > a { position: relative; font-size: .76rem; transition: color .2s; }
.home-craft .main-nav > a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.home-craft .main-nav > a:not(.nav-cta):is(:hover,:focus-visible)::after { transform: scaleX(1); }
.home-craft .main-nav > a:hover { color: var(--accent); }
.home-craft .main-nav .nav-cta { background: var(--ink); color: #fffdf6; padding-inline: 17px; border-radius: 3px; }
.home-craft .main-nav .nav-cta:hover { background: var(--accent); color: #fff; }
.home-craft .reading-progress { top: 0; background: var(--accent); }
.craft-hero {
  padding: 138px var(--gutter) 0;
  background: repeating-linear-gradient(13deg,#7b624903 0 1px,transparent 1px 6px),var(--paper);
}
.craft-hero-grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(30px,4vw,68px); align-items: center; }
.craft-hero-copy { padding: 24px 0 35px; }
.craft-kicker,.home-craft .glass-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--accent);
  font: 800 .65rem/1.8 var(--body);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 24px;
}
.craft-kicker::before,.home-craft .glass-kicker::before { content: ""; width: 8px; height: 8px; background: var(--orange); flex: 0 0 8px; }
.craft-hero h1 { color: var(--ink); font: 800 clamp(4.8rem,7.7vw,8.8rem)/.98 var(--display); letter-spacing: -.025em; margin: 0 0 27px; }
.craft-hero h1 span { color: var(--accent); }
.craft-hero-lead { color: #465249; font-size: clamp(.94rem,1.15vw,1.06rem); line-height: 1.9; margin: 0 0 30px; max-width: 34ch; }
.craft-actions { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.craft-primary,.home-craft .button-primary {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-height: 54px;
  padding: 15px 19px;
  background: var(--orange);
  color: #202822;
  border: 1px solid #b74d0c;
  border-bottom-width: 3px;
  border-radius: 3px;
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform .25s,box-shadow .25s,background-color .25s;
}
.craft-primary > span { font-size: 1.3rem; transition: transform .25s; }
.craft-primary:is(:hover,:focus-visible),.home-craft .button-primary:is(:hover,:focus-visible) { background: #ff9c4e; transform: translateY(-3px); box-shadow: 0 8px 0 #20282214; }
.craft-primary:is(:hover,:focus-visible) > span { transform: translate(3px,-3px); }
.craft-secondary { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; color: var(--ink); font-size: .8rem; text-decoration: none; border-bottom: 1px solid var(--ink); transition: color .2s,gap .2s; }
.craft-secondary:is(:hover,:focus-visible) { color: var(--accent); gap: 18px; }
.craft-hero-visual { position: relative; min-height: clamp(510px,46vw,690px); background: #dce6d9; border-radius: 3px; }
.craft-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 51% center; border-radius: inherit; }
.craft-project-stamp { position: absolute; top: 20px; left: 20px; display: grid; gap: 4px; padding: 13px 16px; background: #fffdf4e8; border-left: 4px solid var(--orange); color: var(--ink); text-decoration: none; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: transform .25s,background-color .25s; }
.craft-project-stamp small { font-size: .6rem; text-transform: uppercase; font-weight: 800; letter-spacing: .1em; }
.craft-project-stamp strong { font-size: .82rem; }
.craft-project-stamp:is(:hover,:focus-visible) { transform: translateX(4px); background: #fffdf6; }
.craft-film {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: grid;
  grid-template-columns: 92px minmax(0,1fr);
  align-items: center;
  gap: 14px;
  width: min(340px,calc(100% - 36px));
  padding: 10px;
  border: 1px solid #ffffff;
  border-bottom: 2px solid #c4c8b9;
  border-radius: 5px;
  background: #fffdf5ea;
  color: var(--ink);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 12px 25px #16302524;
  text-align: left;
  transition: transform .3s,box-shadow .3s;
}
.craft-film:is(:hover,:focus-visible) { transform: translateY(-5px); box-shadow: 0 18px 30px #16302538; }
.craft-film-preview { display: block; position: relative; overflow: hidden; }
.craft-film-preview img { display: block; width: 92px; height: 100px; object-fit: cover; transition: transform .45s; }
.craft-film:is(:hover,:focus-visible) img { transform: scale(1.08); }
.craft-film-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--orange); color: var(--ink); font-size: 1.3rem; padding-left: 2px; box-shadow: 0 0 0 6px #fff9; }
.craft-film-copy { display: grid; gap: 6px; }
.craft-film-copy small { font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--accent); }
.craft-film-copy strong { font: 800 clamp(.85rem,1.1vw,1rem)/1.5 var(--body); }
.craft-film-copy > span { font-size: .72rem; color: #49584b; }
.craft-film-copy > span > span { color: var(--accent); margin-left: 10px; }
.craft-trust { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 28px 0 0; padding: 26px; border: 1px solid #cfc5ae; background: #e6ddc9; }
.craft-trust > div { position: relative; padding: 25px 22px 28px; border: 1px solid #d6cdbb; background: #f8f4e9; transition: transform .3s ease,box-shadow .3s ease,background-color .3s ease; }
.craft-trust > div::after { content: ""; position: absolute; bottom: -1px; left: -1px; width: calc(100% + 2px); height: 4px; background: var(--orange); transform: scaleX(.2); transform-origin: left; transition: transform .45s cubic-bezier(.2,.75,.2,1); }
.craft-trust dt { color: #202822; font: 800 clamp(2rem,3.4vw,3.5rem)/1.05 var(--display); letter-spacing: -.02em; }
.craft-trust dd { font-size: .88rem; line-height: 1.8; color: #424f43; margin: 14px 0 0; }
.home-craft .section-heading { align-items: end; }
.home-craft .section-heading > p { color: #505b53; }
.home-craft .eyebrow,.home-craft .eyebrow.light { color: var(--accent); }
.home-craft .projects { background: #e9e8de; color: var(--ink); padding-block: 75px; }
.home-craft .projects :is(.accent-text,.eyebrow) { color: var(--accent); }
.home-craft .projects .section-heading > p { color: #4c574d; }
.home-craft .project-filters button { color: #39473b; border-color: #aeb7a7; border-radius: 3px; background: transparent; transition: color .2s,background .2s,transform .2s; }
.home-craft .project-filters button:hover { background: #fffdf6; transform: translateY(-2px); }
.home-craft .project-filters button[aria-pressed="true"] { color: #fffdf5; background: var(--ink); border-color: var(--ink); }
.home-craft .project-grid,.home-craft .featured-projects { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.home-craft .project-card,.home-craft .featured-projects .project-card:first-child { grid-column: auto; grid-row: auto; min-height: 0; background: #fffdf7; border-bottom: 3px solid #bfc5b5; border-radius: 3px; transition: transform .35s,box-shadow .35s,border-color .35s; overflow: hidden; }
.home-craft .project-card > .reference-open { display: flex; flex-direction: column; min-height: 0; height: 100%; }
.home-craft .project-photo,.home-craft .featured-projects .project-card:first-child .project-photo { position: relative; inset: auto; aspect-ratio: 1.28; width: 100%; height: auto; min-height: 0; }
.home-craft .project-photo::after,.home-craft .project-copy::before { display: none; }
.home-craft .project-photo img { filter: none; transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.home-craft .project-copy { position: relative; inset: auto; align-self: stretch; margin-top: 0; padding: 23px; background: #fffdf7; flex: 1; }
.home-craft .project-place { color: var(--accent); }
.home-craft .project-place .technical-index { color: #56614f; }
.home-craft .project-copy h3 { color: var(--ink); font-size: clamp(1.8rem,2.5vw,2.8rem); }
.home-craft .project-copy p { color: #4e5a50; }
.home-craft .project-copy .text-link { color: var(--accent); }
.home-craft .photo-count { background: #fffdf5e8; color: var(--ink); border: 1px solid #fff; border-radius: 2px; }
.home-craft .reference-more > summary { border-color: #acb5a5; color: var(--ink); }
.home-craft .services { background: var(--paper); }
.home-craft .service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; border: 0; }
.home-craft .service-tile { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-height: 0; padding: 0 0 23px; background: #fffdf7; color: var(--ink); border: 1px solid #d1d4c5; border-bottom: 3px solid #bfc5b5; border-radius: 3px; overflow: hidden; transition: transform .35s,box-shadow .35s,border-color .35s; }
.home-craft .service-tile-media { position: relative; inset: auto; z-index: auto; opacity: 1; transform: none; display: block; aspect-ratio: 1.8; width: 100%; margin-bottom: 20px; overflow: hidden; }
.home-craft .service-tile-media::after { display: none; }
.home-craft .service-tile-media img { filter: none; transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.home-craft .tile-top { display: flex; flex-direction: row; justify-content: space-between; align-items: center; margin: 0 22px 12px; color: var(--accent); }
.home-craft .tile-top svg { width: 27px; height: 27px; }
.home-craft .service-tile h3 { margin: 0 22px 12px; font-size: clamp(2.1rem,2.9vw,3rem); overflow-wrap: anywhere; }
.home-craft .service-tile p { margin: 0 22px 20px; max-width: none; color: #4c584d; font-size: .88rem; }
.home-craft .tile-link { margin: auto 22px 0; justify-content: space-between; font-size: .73rem; color: var(--accent); }
.home-craft .tile-link > span { font-size: 1.5rem; transition: transform .3s; }
.home-craft .service-tile:focus-visible p { color: #4c584d; }
.home-craft .project-card :is(.text-link > span),.home-craft .text-link > span { transition: transform .25s; }
.home-craft .project-insight { background: #e6d9c1; color: var(--ink); }
.home-craft .insight-copy h2 { color: var(--ink); }
.home-craft .insight-copy h2 span { color: var(--accent); }
.home-craft .insight-copy > p:not(.eyebrow),.home-craft .insight-facts details p { color: #475344; }
.home-craft .insight-facts details { border-color: #b8ae97; }
.home-craft .insight-facts summary { color: var(--ink); }
.home-craft .insight-copy .light-link { color: var(--accent); border-color: var(--accent); }
.home-craft .about { background: #fffdf7; }
.home-craft .about .accent-text,.home-craft .about .eyebrow { color: #151b1d; }
.home-craft .about-layout { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 28px; align-items: stretch; }
.company-story { margin: 0; min-width: 0; background: #f0f1ed; border: 1px solid #d6dad5; }
.company-story-photo { position: relative; display: block; overflow: hidden; text-decoration: none; }
.company-story-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.55; object-fit: cover; transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.company-story-photo > span { position: absolute; top: 16px; left: 16px; display: flex; align-items: center; gap: 14px; padding: 10px 13px; background: #fffef7ed; border-left: 4px solid #ff7900; color: #151b1d; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.company-story-caption { padding: 28px; border-top: 4px solid #ff7900; }
.company-story-kicker { margin: 0 0 12px; color: #4b5558; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.company-story-message { margin: 0 0 21px; color: #151b1d; font: 800 clamp(2.3rem,3.8vw,4rem)/1.05 var(--display); letter-spacing: -.02em; }
.company-story-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 18px; color: #465155; font-size: .72rem; }
.company-story-foot a { display: inline-flex; align-items: center; gap: 13px; min-height: 44px; color: #151b1d; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.company-story-foot a > span { color: #c65300; transition: transform .25s; }
.home-craft .company-strengths { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.home-craft .company-strengths li { position: relative; display: flex; flex-direction: column; align-items: start; gap: 21px; min-width: 0; padding: 25px; border: 1px solid #d6dad5; background: #fbfcf8; transition: transform .3s,box-shadow .3s,background-color .3s,border-color .3s; }
.home-craft .company-strengths li::after { content: ""; position: absolute; height: 3px; bottom: -1px; left: -1px; width: calc(100% + 2px); background: #ff7900; transform: scaleX(.15); transform-origin: left; transition: transform .4s cubic-bezier(.2,.75,.2,1); }
.home-craft .company-strengths .technical-index { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; background: #ff7900; color: #151b1d; font: 800 1.45rem/1 var(--display); }
.home-craft .company-strengths h3 { margin: 0 0 13px; color: #151b1d; font-size: clamp(1.8rem,2.4vw,2.6rem); line-height: 1.1; overflow-wrap: anywhere; }
.home-craft .company-strengths p { margin: 0; color: #465155; font-size: .87rem; line-height: 1.85; max-width: 38ch; }
.home-craft .region-focus { display: block; padding: 80px var(--gutter); color: var(--ink); background: #efede3; }
.home-craft .region-focus-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(35px,6vw,95px); align-items: center; }
.home-craft .region-focus h2 { font-size: clamp(3.8rem,5.9vw,6rem); line-height: 1.02; margin: 0 0 24px; color: var(--ink); }
.home-craft .region-focus h2 span { color: var(--accent); }
.home-craft .region-focus-copy > p:not(.glass-kicker) { color: #4e5b51; max-width: 400px; font-size: .94rem; line-height: 1.9; }
.home-craft .region-focus .text-link { color: var(--accent); border-color: var(--accent); font-size: .83rem; }
.home-craft .region-places { margin: 0; }
.home-craft .region-place { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px 15px; padding: 23px 12px; border-bottom: 1px solid #bfc5b5; transition: transform .25s,background .25s; }
.home-craft .region-place-home { background: #fffdf6cf; border: 1px solid #fff; border-left: 4px solid var(--orange); border-bottom-color: #bfc5b5; border-radius: 3px; padding: 23px; margin-bottom: 8px; }
.home-craft .region-place dt { font-size: clamp(1.45rem,2.5vw,2.5rem); font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; letter-spacing: -.03em; }
.home-craft .region-place dd { grid-column: 1; margin: 0; font-size: .78rem; color: #4f5c51; }
.home-craft .region-place::after { content: "↗"; grid-column: 2; grid-row: 1/3; color: var(--accent); font-size: 1.7rem; }
.home-craft .region-reach { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid #c6c9ba; padding-top: 23px; margin: 28px 0 0; font-size: .75rem; color: #4c594f; }
.home-craft .region-radius { background: #f3f3ef; color: #14191b; }
.home-craft .region-radius h2,.home-craft .region-radius h2 span,.home-craft .region-radius .glass-kicker { color: #14191b; }
.home-craft .region-radius .glass-kicker::before { background: #ff7900; }
.home-craft .region-radius .region-focus-copy > p:not(.glass-kicker) { color: #454d51; }
.home-craft .region-radius .text-link { color: #14191b; border-bottom: 2px solid #ff7900; }
.home-craft .region-radius .region-reach { color: #454d51; border-color: #cbd0d2; }
.service-radius { --radius-orange: #ff7900; margin: 0; width: 100%; max-width: 540px; justify-self: center; min-width: 0; }
.service-radius-drawing { background: repeating-linear-gradient(0deg,transparent 0 39px,#8c949c21 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,#8c949c21 39px 40px); }
.service-radius svg { display: block; width: 100%; height: auto; }
.service-radius text { font-family: var(--body); font-size: 18px; fill: #14191b; }
.service-radius .radius-label { font-size: 17px; font-weight: 800; }
.service-radius .radius-small { font-size: 15px; fill: #454d51; }
.service-radius-ring { fill: #ff790009; stroke: var(--radius-orange); stroke-width: 2; transition: stroke-width .3s,fill .3s; }
.service-radius-route { stroke: #14191b; stroke-width: 2; fill: none; }
.service-radius-signal { fill: none; stroke: var(--radius-orange); stroke-width: 1.5; opacity: 0; pointer-events: none; }
.service-radius figcaption { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 17px; color: #454d51; font-size: .7rem; }
.radius-replay { min-height: 44px; padding: 10px 14px; border: 1px solid #14191b; border-radius: 3px; background: #14191b; color: #fff; font: 700 .72rem/1.5 var(--body); transition: background .2s,border-color .2s; }
.radius-replay:hover { background: #303637; border-color: var(--radius-orange); }
.radius-replay:disabled { opacity: .7; cursor: wait; }
.radius-replay:focus-visible { outline: 3px solid #ff7900; outline-offset: 4px; }
.service-radius.is-radius-building .service-radius-ring { stroke-dasharray: 100; animation: radius-circle-build 1.6s cubic-bezier(.3,.6,.3,1) both; }
.service-radius.is-radius-building .service-radius-distance { stroke: var(--radius-orange); stroke-dasharray: 100; animation: radius-line-build .85s .8s ease-out both; }
.service-radius.is-radius-building .service-radius-signal { animation: radius-site-signal 1.9s ease-out both; }
@keyframes radius-circle-build { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes radius-line-build { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes radius-site-signal { from { r: 10px; opacity: .85; } to { r: 42px; opacity: 0; } }
@media (hover:hover) and (pointer:fine) { .service-radius-drawing:hover .service-radius-ring { stroke-width: 3.5; fill: #ff790015; } }
.home-craft .process { background: #e0e5d8; color: var(--ink); }
.home-craft .process h2 { color: var(--ink); }
.home-craft .process h2 span { color: var(--accent); }
.home-craft .process .section-heading > p,.home-craft .process-list p { color: #475445; }
.home-craft .process-list li { padding: 18px; border-top: 3px solid #aab5a1; transition: transform .3s,background .3s,border-color .3s; }
.home-craft .process-list li > span { color: var(--accent); }
.home-craft .career-teaser { background: #fffdf7; }
.home-craft .contact { background: #e9dcc5; color: var(--ink); }
.home-craft .request-form { background: #fffdf7; border: 1px solid #fff; border-top: 4px solid var(--orange); box-shadow: 0 15px 50px #45341f0b; }
.home-craft .form-panel { background: #fffdf7; }
.home-craft .form-heading .technical-index { font-size: .73rem; }
.home-craft .form-heading p { font-size: .75rem; }
.home-craft .work-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.home-craft .work-option { min-width: 0; }
.home-craft .work-option input { top: 50%; right: 16px; transform: translateY(-50%); width: 18px; height: 18px; accent-color: #151b1d; z-index: 1; }
.home-craft .work-option > span,.home-craft .work-option:last-child > span {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  grid-template-rows: auto auto;
  align-content: center;
  align-items: start;
  gap: 5px 13px;
  min-height: 122px;
  height: 100%;
  padding: 18px 46px 18px 17px;
  border: 2px solid #cbd0cc;
  border-radius: 3px;
  background: #fffef9;
  transition: border-color .2s,background-color .2s,box-shadow .2s;
}
.home-craft .work-option svg,.home-craft .work-option:last-child svg { position: static; grid-column: 1; grid-row: 1/3; align-self: center; width: 30px; height: 30px; margin: 0; color: #151b1d; }
.home-craft .work-option strong { grid-column: 2; grid-row: 1; color: #151b1d; font-size: .88rem; line-height: 1.5; overflow-wrap: anywhere; }
.home-craft .work-option small { grid-column: 2; grid-row: 2; margin: 0; color: #4b5556; font-size: .76rem; line-height: 1.65; overflow-wrap: anywhere; }
.home-craft .work-option:last-child { grid-column: 1/-1; }
.home-craft .work-option:last-child > span { min-height: 101px; }
.home-craft .work-option input:checked + span { padding: 18px 46px 18px 17px; border-color: #151b1d; background: #fff1e2; box-shadow: inset 4px 0 0 #ff7900; }
.home-craft .work-option input:checked + span svg { color: #151b1d; }
.home-craft .work-option:hover > span { border-color: #ff7900; background: #fff9ef; }
.home-craft .work-option input:focus-visible + span { outline: 3px solid #ff7900; outline-offset: 3px; }
@media(max-width:600px) { .home-craft .work-options { grid-template-columns: 1fr; } .home-craft .work-option:last-child { grid-column: auto; } .home-craft .work-option > span { min-height: 105px; } }
.home-craft .faq { background: #f5f2e9; color: #202822; }
.home-craft .faq h2,.home-craft .faq-list summary { color: #202822; }
.home-craft .faq .accent-text { color: #a34412; }
.home-craft .faq > div:first-child > p:not(.eyebrow),.home-craft .faq-list details > p { color: #475349; font-size: .93rem; line-height: 1.9; }
.home-craft .faq-list details { border-color: #aeb6a5; }
.home-craft .faq-list summary { padding: 22px 14px; transition: background .25s,padding-left .25s; }
.home-craft .faq-list summary > span { display: none; }
.home-craft .faq-list summary::after { color: #a34412; }
.home-craft .faq-list details[open] { background: #fffdf7; }
.home-craft .faq-list details > p { padding: 0 20px 24px 14px; }
.home-craft .motion-band { position: relative; padding: 30px 0 56px; background: #263129; color: #f4f1e7; }
.home-craft .motion-band-track { gap: 0; transform: none; animation: steding-craft-marquee 30s linear infinite; font-size: clamp(3.5rem,7vw,7rem); }
.home-craft .motion-band-group { display: flex; align-items: center; flex: 0 0 auto; gap: 3rem; padding-right: 3rem; }
.home-craft .motion-band-group > span:nth-of-type(even) { color: transparent; -webkit-text-stroke: 1px #d4dbc9; }
.home-craft .motion-band-group > b { color: var(--orange); }
.home-craft .motion-band.is-paused .motion-band-track { animation-play-state: paused; }
.home-craft .motion-toggle { position: absolute; right: var(--gutter); bottom: 11px; min-height: 35px; padding: 6px 12px; color: #f4f1e7; background: #ffffff08; border: 1px solid #ffffff55; border-radius: 3px; font-size: .68rem; }
.home-craft .site-footer { background: #263129; }
.home-craft .video-dialog { border-radius: 5px; background: #f5f2e9; border: 1px solid #c9cebd; color: var(--ink); }
.home-craft .video-dialog .reference-dialog-top { background: #f5f2e9; color: var(--ink); }
.home-craft .video-dialog .reference-dialog-top button { color: var(--ink); border-color: #8e9b88; }
.home-craft .video-dialog > p { color: #475349; }
.home-craft .video-dialog::backdrop { background: #182118bc; backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.home-craft :focus-visible { outline: 3px solid #a34412; outline-offset: 5px; }
@keyframes steding-craft-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (hover:hover) and (pointer:fine) {
  .craft-trust > div:hover { transform: translateY(-6px); background: #fffdf7; box-shadow: 0 13px 24px #493c251a; }
  .craft-trust > div:hover::after { transform: scaleX(1); }
  .home-craft .service-tile:is(:hover,:focus-visible),.home-craft .project-card:is(:hover,:focus-within) { transform: translateY(-7px); box-shadow: 0 16px 30px #29332116; border-color: var(--orange); background: #fffdf7; color: var(--ink); }
  .home-craft .service-tile:is(:hover,:focus-visible) { padding: 0 0 23px; }
  .home-craft .service-tile:is(:hover,:focus-visible) img,.home-craft .project-card:is(:hover,:focus-within) img { transform: scale(1.06); filter: none; }
  .home-craft .service-tile:is(:hover,:focus-visible) .tile-link > span,.home-craft .project-card:is(:hover,:focus-within) .text-link > span,.home-craft .text-link:is(:hover,:focus-visible) > span { transform: translate(4px,-4px); }
  .home-craft .company-strengths li:hover { padding: 25px; transform: translateY(-5px); background: #fffef9; border-color: #ff7900; box-shadow: 0 12px 24px #26312912; }
  .home-craft .company-strengths li:hover::after { transform: scaleX(1); }
  .company-story-photo:is(:hover,:focus-visible) img { transform: scale(1.045); }
  .company-story-foot a:is(:hover,:focus-visible) > span { transform: translate(3px,-3px); }
  .home-craft .region-place:hover { transform: translateX(5px); background: #fffdf6; }
  .home-craft .process-list li:hover { transform: translateY(-5px); background: #f7f8ef; border-top-color: var(--accent); }
  .home-craft .faq-list summary:hover { padding-left: 20px; background: #fffdf7; }
}
@media(min-width:801px) and (max-width:1050px) {
  .home-craft .site-header { padding-inline: 15px; gap: 12px; }
  .home-craft .main-nav { gap: 13px; }
  .home-craft .main-nav > a { font-size: .68rem; }
  .home-craft .main-nav .nav-cta { padding-inline: 12px; }
  .home-craft .brand-copy strong { font-size: 1.75rem; }
  .home-craft .brand img { width: 36px; height: 36px; }
  .home-craft .brand-copy small { font-size: .48rem; }
}
@media(max-width:1050px) {
  .home-craft .about-layout { grid-template-columns: 1fr; }
  .company-story-photo img { aspect-ratio: 1.9; }
}
@media(max-width:950px) {
  .craft-trust { grid-template-columns: 1fr; }
  .home-craft .project-grid,.home-craft .featured-projects,.home-craft .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-craft .featured-projects .project-card:first-child { grid-column: 1/-1; }
  .home-craft .featured-projects .project-card:first-child .project-photo { aspect-ratio: 1.8; }
  .home-craft .about-layout { gap: 32px; }
  .craft-hero-grid { gap: 25px; }
  .craft-film { grid-template-columns: 70px minmax(0,1fr); gap: 10px; }
  .craft-film-preview img { width: 70px; height: 90px; }
  .craft-film-copy small { font-size: .7rem; }
  .craft-film-copy strong { font-size: .8rem; }
}
@media(max-width:800px) {
  .home-craft .site-header { top: 12px; left: 14px; right: 14px; min-height: 72px; padding: 10px 15px; border-radius: 4px; }
  .home-craft .menu-toggle { border-color: #a7b09e; border-radius: 3px; }
  .home-craft .menu-toggle > span:not(.sr-only) { background: #202822; }
  .js .home-craft .main-nav { inset: calc(var(--header) + 24px) 14px 14px; background: #f8f6edf8; border: 1px solid #c4caba; padding: 24px; border-radius: 4px; }
  .js .home-craft .main-nav > a { font-size: clamp(2rem,7vw,3rem); border-color: #c7ccbc; }
  .js .home-craft .main-nav .nav-cta { font-size: .9rem; padding: 16px; color: #fffdf6; }
  .craft-hero { padding-top: 117px; }
  .craft-hero-grid { grid-template-columns: 1fr; gap: 16px; }
  .craft-hero-copy { padding: 12px 0 20px; }
  .craft-hero h1 { font-size: clamp(4.3rem,11vw,6.5rem); }
  .craft-hero-visual { min-height: 460px; }
  .craft-hero-lead { max-width: 48ch; }
  .craft-film { width: 330px; grid-template-columns: 92px minmax(0,1fr); gap: 14px; }
  .craft-film-preview img { width: 92px; height: 100px; }
  .craft-film-copy strong { font-size: .95rem; }
  .craft-film-copy small { font-size: .7rem; }
  .home-craft .region-focus-layout { gap: 30px; }
  .home-craft .region-place-home { padding: 19px; }
}
@media(max-width:600px) {
  .craft-hero { padding-inline: 22px; }
  .craft-hero h1 { font-size: clamp(3.5rem,15.5vw,5.5rem); }
  .craft-kicker { font-size: .58rem; letter-spacing: .1em; }
  .craft-hero-lead { font-size: .93rem; }
  .craft-hero-visual { min-height: 405px; }
  .craft-project-stamp { top: 13px; left: 13px; padding: 10px 12px; }
  .craft-project-stamp strong { font-size: .72rem; }
  .craft-film { width: calc(100% - 26px); right: 13px; bottom: 13px; grid-template-columns: 72px minmax(0,1fr); gap: 11px; }
  .craft-film-preview img { width: 72px; height: 90px; }
  .craft-film-copy strong { font-size: .86rem; }
  .craft-film-copy small { font-size: .7rem; }
  .craft-trust { grid-template-columns: 1fr; gap: 14px; padding: 16px; margin-top: 22px; }
  .craft-trust > div { padding: 23px 20px 25px; }
  .craft-trust dt { font-size: 2.4rem; }
  .craft-trust dd { font-size: .9rem; margin-top: 9px; }
  .home-craft .project-grid,.home-craft .featured-projects,.home-craft .service-grid { grid-template-columns: 1fr; }
  .home-craft .featured-projects .project-card:first-child { grid-column: auto; }
  .home-craft .project-photo,.home-craft .featured-projects .project-card:first-child .project-photo { aspect-ratio: 1.3; }
  .home-craft .project-copy { padding: 22px; }
  .home-craft .service-tile h3 { font-size: 2.5rem; }
  .home-craft .about-layout,.home-craft .region-focus-layout { grid-template-columns: 1fr; }
  .company-story-photo img { aspect-ratio: 1.3; }
  .company-story-caption { padding: 23px; }
  .company-story-message { font-size: 2.8rem; }
  .home-craft .company-strengths { grid-template-columns: 1fr; gap: 15px; }
  .home-craft .company-strengths li { padding: 24px; gap: 17px; }
  .home-craft .company-strengths h3 { font-size: 2.1rem; }
  .home-craft .region-focus { padding: 60px var(--gutter); }
  .home-craft .region-focus h2 { font-size: 3.9rem; }
  .home-craft .region-place dt { font-size: 1.8rem; }
  .home-craft .process-list { gap: 18px; }
  .home-craft .process-list li { padding: 15px; }
  .home-craft .faq { gap: 30px; }
  .home-craft .faq-list summary { font-size: .94rem; }
  .home-craft .video-dialog { width: calc(100vw - 24px); max-width: calc(100vw - 24px); }
}
@media(prefers-reduced-motion:reduce) {
  .home-craft .radius-replay { display: none; }
  .home-craft *, .home-craft *::before,.home-craft *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .home-craft .motion-band-track { transform: none; will-change: auto; }
  .home-craft .motion-toggle { display: none; }
}
@media print {
  .home-craft .site-header { position: static; margin: 0; }
  .craft-hero { padding-top: 25px; }
  .craft-film,.home-craft .motion-band { display: none; }
}
