/* A single forest scene is painted by the shared site shell. */
.factory-profile { padding-block:clamp(20px,2vw,32px) clamp(44px,6vw,90px); }
.factory-profile .eyebrow { color:var(--in-accent); }
.fp-heading,.fp-floor,.fp-trace { display:grid; align-items:center; gap:clamp(22px,4.6vw,72px); }
.fp-intro .in-crumb { margin-bottom:clamp(22px,3vw,42px); }
.fp-heading { grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr); margin-bottom:clamp(19px,2.5vw,36px); }
.fp-heading h1 { color:var(--in-text); font-size:clamp(2.6rem,5.2vw,5rem); }
.fp-heading p,.fp-work>p:not(.eyebrow),.fp-trace p:not(.eyebrow) { color:var(--in-muted); font-size:clamp(1rem,1.3vw,1.12rem); line-height:1.65; }
.fp-campus,.fp-machine { margin:0; min-width:0; }
.fp-campus img,.fp-machine img { width:100%; height:auto; object-fit:cover; }
.fp-campus img { border-radius:clamp(16px,4vw,64px) 8px clamp(16px,4vw,64px) 8px; }
.fp-campus figcaption,.fp-machine figcaption { color:var(--in-muted); font-size:.9375rem; line-height:1.5; padding-top:9px; }
.fp-campus figcaption { text-align:end; }
.fp-facts {
  display:grid; grid-template-columns:1.15fr .8fr 1.25fr 1fr; gap:clamp(12px,3vw,48px);
  padding:clamp(21px,2.6vw,35px) 0; margin-top:clamp(18px,2.6vw,34px);
  border-block:1px solid var(--in-line);
}
.fp-facts>div { display:flex; flex-direction:column-reverse; justify-content:flex-end; align-items:flex-start; }
.fp-facts dt { margin-top:6px; font-size:1rem; color:var(--in-muted); }
.fp-facts dd { color:var(--in-accent); font:600 clamp(25px,3vw,47px)/1.12 var(--serif); }
.fp-floor { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); margin-block:clamp(41px,5vw,82px); }
.fp-work h2,.fp-trace h2 { font-size:clamp(1.85rem,3.1vw,2.8rem); margin-bottom:.44em; }
.fp-machine img { border-radius:8px clamp(20px,4vw,62px) 8px clamp(20px,4vw,62px); }
.fp-stages { margin:19px 0; padding:0; list-style:none; }
.fp-stages li { display:flex; gap:14px; padding:12px 0; border-top:1px solid var(--in-line); }
.fp-stages li>span { color:var(--in-accent); font:italic 500 1.1rem/1.5 var(--serif); }
.fp-stages h3 { margin:0 0 3px; font-size:1.1rem; }
.fp-stages p { color:var(--in-muted); font-size:.96rem; line-height:1.5; }
.fp-trace { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); border-top:1px solid var(--in-line); padding-top:clamp(30px,4vw,54px); }
.fp-trace p:not(.eyebrow) { margin-bottom:.8em; }
.fp-trace .tour-placeholder { background:var(--in-card); color:var(--in-text); border-color:var(--in-line); }
.fp-trace .tour-placeholder span { color:var(--in-muted); }
.fp-trace .tour-placeholder .tour-mark { color:var(--in-accent); border-color:var(--in-line); }
@media(max-width:820px) {
  .fp-heading,.fp-floor,.fp-trace { grid-template-columns:minmax(0,1fr); gap:18px; }
  .fp-floor { align-items:start; }
  .fp-facts { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:22px; }
  .fp-floor .fp-machine { max-width:620px; }
}
@media(max-width:520px) {
  .fp-campus img { aspect-ratio:2.15; object-position:86% center; }
  .fp-campus figcaption { text-align:start; }
}
main {
  --in-text:var(--wood-type);
  --in-muted:var(--wood-muted);
  --in-accent:var(--wood-gold);
  --in-card:rgb(16 37 28 / 94%);
  --in-inset:rgb(10 29 21 / 95%);
  --in-soft:rgb(31 56 40 / 90%);
  --in-line:var(--wood-line);
  --in-field-border:#a3b5a2;
  color:var(--in-text);
}
.in-block .eyebrow { color:var(--in-accent); }

.in-head {
  position:relative;
  isolation:isolate;
  background:linear-gradient(90deg,rgb(10 28 20 / 62%),transparent 84%);
  border-bottom:1px solid var(--in-line);
  padding:clamp(17px,2vw,27px) 0 clamp(34px,4.5vw,65px);
}

.in-head .in-crumb,.in-head .in-lead { color:var(--in-muted); }
/* A small pool of light follows the canopy at the edge of the header. */
@media(min-width:851px) and (prefers-reduced-motion:no-preference) {
  .in-head::after {
    content:""; position:absolute; pointer-events:none; z-index:-1;
    inset:0 0 0 60%;
    background:radial-gradient(ellipse at 81% 8%,#ffe4a166 0%,transparent 68%);
    animation:in-canopy-light 13s ease-in-out infinite;
  }
}
@keyframes in-canopy-light {
  0%,48%,100% { opacity:0; }
  27% { opacity:.52; }
  75% { opacity:.3; }
}
.in-head .in-lead { max-width:min(65ch,57%); }
.in-head .in-crumb a:hover { text-decoration:underline; }
.in-head a:focus-visible { outline-color:var(--in-accent); }
@media(max-width:850px) {
  .in-head .in-lead { max-width:66ch; }
}

.in-crumb,.in-actions,.in-pills,.in-intent {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.in-crumb {
  font-size:.9rem;
  color:var(--in-muted);
  margin-bottom:35px;
}

.in-crumb a,.in-contact-card a,.in-standalone,.in-more {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

.in-head h1,.in-block h2,.in-request h2,.in-section-head h2,.in-info-box h2,.in-form h2,.in-contact-card h2 {
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.1;
  color:var(--in-text);
}

.in-head h1 {
  max-width:21ch;
  color:var(--in-text);
  font-size:clamp(2.3rem,4.5vw,4.3rem);
  margin:.17em 0 .25em;
}

.in-head .eyebrow {
  color:#ebce9a;
  margin:0;
}
.in-head .eyebrow::before {
  content:""; width:24px; height:2px; background:currentColor;
}

.in-head .eyebrow span {
  margin:0 .35em;
  opacity:.5;
}

.in-lead {
  max-width:76ch;
  margin:0;
  color:var(--in-muted);
  line-height:1.68;
  font-size:clamp(1rem,1.35vw,1.14rem);
}

.in-block {
  padding-block:clamp(36px,5vw,76px);
}

.in-block h2,.in-request h2 {
  font-size:clamp(1.75rem,3.2vw,2.8rem);
  margin:0 0 .5em;
}

.in-section-head {
  max-width:82ch;
  margin-bottom:28px;
}

.in-section-head h2 {
  margin:.2em 0 .4em;
}

.in-section-head p,.in-app-card p,.in-method p,.in-info-box p,.in-video-section p,.in-detail p,.in-contact-card p {
  color:var(--in-muted);
  line-height:1.6;
}

.in-count,.in-note {
  font-size:.88rem;
  color:var(--in-muted);
  line-height:1.55;
}

.in-count {
  margin:22px 0 14px;
}

.in-count strong {
  color:var(--in-text);
}

.in-product-grid,.in-method-grid,.in-app-grid,.in-facts,.in-service-grid,.in-steps,.in-field-grid,.in-filters,.in-split,.in-contact-layout,.in-calc {
  display:grid;
  gap:24px;
}

.in-product-grid,.in-facts {
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.in-method-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.in-app-grid,.in-service-grid,.in-field-grid,.in-steps {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.in-split {
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  gap:clamp(24px,5vw,76px);
  align-items:center;
}

.in-form-card,.in-method,.in-info-box,.in-contact-card,.in-form,.in-app-card {
  border:1px solid var(--in-line);
  border-radius:8px;
  background-color:var(--in-card);
}

.in-form-card {
  overflow:hidden;
  border-radius:4px 25px 5px 17px;
  transition:border-color .16s ease,transform .16s ease;
}
.in-form-card:nth-child(even) { border-radius:22px 6px 18px 5px; }
.in-form-card .in-art {
  clip-path:polygon(0 0,100% 0,100% 88%,94% 97%,55% 98%,36% 100%,0 95%);
}
.in-form-card:nth-child(even) .in-art {
  clip-path:polygon(0 0,100% 0,100% 95%,74% 100%,52% 98%,9% 97%,0 90%);
}

.in-form-card:hover,.in-form-card:focus-within {
  border-color:var(--in-accent);
  transform:translateY(-2px);
}

.in-form-card a,.in-app-card {
  color:inherit;
  text-decoration:none;
  display:block;
  height:100%;
}

.in-art {
  position:relative;
  background:var(--in-inset);
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/3;
  overflow:hidden;
}

.in-art img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.in-form-card .in-concept-photo img {
  mask-image:linear-gradient(0deg,transparent,#000 9%,#000 96%,rgb(0 0 0 / 90%));
}
.in-sample-photo {
  background:linear-gradient(110deg,rgb(23 44 31 / 10%),transparent),url("media/shelf-pet-food-800.webp") 50% 68% / cover;
}
.in-sample-photo img {
  position:relative;
  width:78%;
  height:86%;
  filter:drop-shadow(3px 5px 3px rgb(48 34 20 / .24));
}
.in-sample-photo::before {
  content:'';
  position:absolute;
  bottom:4%;
  width:47%;
  height:7%;
  background:radial-gradient(ellipse,rgba(67,51,30,.32),transparent 68%);
}
.in-sample-photo[data-art="rollstock"] img {
  width:80%;
  height:72%;
  align-self:flex-end;
  object-position:center bottom;
  margin-bottom:9%;
}

.in-art-large {
  border-radius:8px;
}
.in-specimen-photo {
  background:radial-gradient(ellipse at 50% 32%,#edefe5,#d8dfd3);
}
.in-photo-attribution { margin:14px 0; font-size:.8rem; color:var(--in-muted); }
.in-form-card .in-specimen-photo img {
  width:100%;height:100%;object-fit:contain;
  padding:clamp(8px,1vw,16px);box-sizing:border-box;
}
.in-card-foot {
  padding:13px 16px 17px;
  line-height:1.3;
}

.in-card-foot small,.in-number {
  font-size:.875rem;
  color:var(--in-muted);
  letter-spacing:.07em;
}

.in-card-foot h3,.in-info-box h3,.in-steps h3 {
  font-size:1.09rem;
  line-height:1.35;
  margin:.35em 0 0;
}

.in-card-foot h3 { color:var(--in-text); font-family:var(--serif); font-size:clamp(18px,1.55vw,23px); margin-top:7px; }
.in-filters {
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  align-items:end;
  padding:clamp(12px,2vw,22px);
  border:1px solid var(--in-line);
  border-radius:8px;
  background:var(--in-card);
  gap:16px;
}
.in-results-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; margin:12px 0; }
.in-results-toolbar .in-count { margin:0; }
.in-results-toolbar .in-more { padding:8px 0; text-decoration:underline; text-underline-offset:.22em; }
.in-fit-note,.in-steps li p { font-size:.92rem; line-height:1.52; color:var(--in-muted); margin:.5em 0 0; }
.in-method-links { display:flex; flex-wrap:wrap; gap:5px 16px; margin-top:auto; padding-top:12px; }
.in-method-links a,.in-roll-quote { display:inline-flex; align-items:center; min-height:38px; }
.case-guide-sample { margin:18px 0 2px; width:min(100%,24rem); }
.case-guide-sample img { width:100%; height:clamp(145px,20vw,225px); object-fit:contain; border-radius:5px 24px 6px 16px; background:rgb(204 215 196 / 12%); }
.case-guide-sample figcaption { margin-top:6px; color:var(--in-muted); font-size:.86rem; }
.in-roll-quote { color:var(--in-accent); font-weight:650; font-size:.9rem; text-decoration:underline; text-underline-offset:3px; }
.in-roll-quote[hidden] { display:none; }
@media(max-width:480px) {
 .in-product-grid.in-application-formats { grid-template-columns:minmax(0,1fr); }
 .in-application-formats .in-form-card>a { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); }
 .in-application-formats .in-art { min-width:0; width:100%; height:100%; aspect-ratio:auto; }
 .in-application-formats .in-card-foot { min-height:146px; }
 .in-results-toolbar .in-more,.in-method-links a,.in-roll-quote { min-height:44px; }
}

.in-filters label,.in-calc label,.in-form>label,.in-field-grid label {
  display:grid;
  gap:7px;
  color:var(--in-text);
  font-size:1rem;
  font-weight:600;
}

.in-filters input,.in-filters select,.in-calc input,.in-form input:not([type=radio]),.in-form select,.in-form textarea {
  border:1px solid var(--in-field-border);
  min-height:48px;
  width:100%;
  box-sizing:border-box;
  border-radius:6px;
  background:#142b20;
  color:var(--in-text);
  color-scheme:dark;
  padding:10px 12px;
  font:inherit;
  font-weight:400;
}

.in-form textarea {
  resize:vertical;
}

.in-filters select option,.in-form select option { color:var(--in-text); background:#182e22; }
.in-filters input::placeholder,.in-form input::placeholder,.in-form textarea::placeholder { color:#d0dbd1; opacity:1; }
.in-form input[type=radio] { color-scheme:dark; }
.in-filters input:hover,.in-filters select:hover,.in-form :is(input,select,textarea):hover { border-color:#c3d0b6; }
.in-filters input:focus,.in-calc input:focus,.in-form :is(input,select,textarea):focus { border-color:var(--in-accent); }
.in-form input:user-invalid,.in-form textarea:user-invalid { border-color:#f1ac95; }

.in-filters :focus-visible,.in-calc :focus-visible,.in-form :focus-visible,.in-app-card:focus-visible,.in-form-card a:focus-visible {
  outline:2px solid var(--in-accent);
  outline-offset:3px;
}

.in-text-button {
  font:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  background:transparent;
  border:0;
  min-height:44px;
  cursor:pointer;
  color:var(--in-accent);
}

.in-empty {
  padding:45px;
  border:1px solid var(--in-line);
  border-radius:8px;
  background:var(--in-card);
  text-align:center;
}

.in-figure {
  margin:0;
}

.in-figure figcaption {
  color:var(--in-muted);
  font-size:.84rem;
  margin-top:8px;
}
.in-figure figcaption a { text-decoration:underline; text-underline-offset:3px; }

.in-dl {
  margin:22px 0;
}

.in-dl div {
  display:grid;
  grid-template-columns:minmax(80px,.72fr) minmax(0,1.6fr);
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid var(--in-line);
}

.in-dl dt {
  color:var(--in-muted);
  font-size:.9375rem;
}

.in-dl dd {
  margin:0;
  color:var(--in-text);
  overflow-wrap:anywhere;
}

.in-pills {
  margin:15px 0 22px;
  gap:8px;
}

.in-pill {
  color:var(--in-text);
  background:var(--in-soft);
  border:1px solid var(--in-line);
  border-radius:5px;
  padding:7px 12px;
  font-size:.86rem;
  text-decoration:none;
}

.in-tint {
  background:rgb(14 37 28 / 50%);
}

.in-request {
  border-top:1px solid var(--in-line);
  background:linear-gradient(110deg,var(--in-card),rgb(19 39 26 / 32%));
  padding-block:44px;
}

.in-request-wrap {
  display:flex;
  align-items:center;
  gap:25px;
  justify-content:space-between;
}

.in-request p {
  margin:0 0 10px;
  color:var(--in-muted);
}

.in-request h2 {
  margin:0 0 10px;
}

.in-app-card,.in-method,.in-info-box,.in-form,.in-contact-card {
  padding:clamp(19px,2.5vw,32px);
}

.in-app-card {
  position:relative;
  box-sizing:border-box;
  min-height:220px;
  isolation:isolate;
  overflow:hidden;
  padding-right:44%;
  border-radius:6px 42px 8px 24px;
}
.in-app-card:nth-child(2n) { border-radius:24px 8px 42px 6px; }

.app-pet-food {
  --sample:url("media/application-pet-03-420.webp");
  --shelf:url("media/shelf-pet-food-800.webp");
}

.app-food {
  --sample:url("media/application-food-02-420.webp");
  --shelf:url("media/shelf-food-800.webp");
}

.in-app-card::before,.in-app-card::after {
  content:""; position:absolute; inset:0 0 0 46%; z-index:-1;
}
.in-app-card::before {
  background:var(--shelf) center / cover no-repeat;
  clip-path:polygon(23% 0,100% 0,100% 100%,2% 100%,11% 76%,5% 59%,15% 36%);
  mask-image:linear-gradient(to right,#000a,#000 36%);
}
.in-app-card::after {
  inset:7% 4% 7% 54%;
  background:var(--sample) center / contain no-repeat;
  filter:drop-shadow(3px 5px 3px #302c2945);
}
.in-app-card:hover,.in-app-card:focus-visible { border-color:var(--in-accent); }
@media(max-width:420px) {
  .in-app-card { padding:20px 17px 134px; }
  .in-app-card::before {
    inset:auto 0 0; height:125px;
    clip-path:polygon(0 26%,24% 12%,46% 16%,72% 4%,100% 9%,100% 100%,0 100%);
    mask-image:linear-gradient(to bottom,#000a,#000 33%);
  }
  .in-app-card::after {
    inset:auto 9% 7px; height:112px; background-position:center bottom;
  }
  .in-app-card .eyebrow { margin-bottom:12px; }
}

.in-app-card .in-number {
  position:absolute;
  right:11px;
  top:11px;
  background:#20382b;
  color:var(--in-text);
  padding:1px 6px;
  border-radius:3px;
}

.in-app-card .eyebrow {
  color:var(--in-accent);
  margin:0 0 22px;
}

.in-app-card h2 {
  font-size:clamp(1.6rem,2.8vw,2.5rem);
}

.in-more,.in-standalone {
  color:var(--in-accent);
  font-weight:600;
}
.in-standalone:hover,.in-more:hover,.in-contact-card a:hover { text-decoration:underline; }

.in-standalone {
  display:inline-block;
  margin-top:24px;
}

.in-method {
  display:flex;
  flex-direction:column;
  scroll-margin-top:100px;
  border-top:3px solid #759077;
}
.in-method:nth-child(2) { border-top-color:#b0945f; }
.in-method:nth-child(3) { border-top-color:var(--in-accent); }

.in-method .in-number {
  font-size:1.2rem;
  color:var(--in-accent);
}

.in-method h2 {
  font-size:clamp(1.45rem,2.3vw,2.1rem);
  margin:15px 0 0;
}

.in-method>.in-more {
  margin-top:auto;
}

.in-method p {
  min-height:4.7em;
}

.in-method .in-dl {
  margin-top:0;
}

.in-calc {
  grid-template-columns:1fr 1fr 1fr;
  max-width:850px;
  align-items:start;
}

.in-calc>div {
  border-left:1px solid var(--in-line);
  padding-left:20px;
}

.in-calc span,.in-calc small {
  display:block;
  color:var(--in-muted);
  font-size:.88rem;
}

.in-calc output {
  display:block;
  font:600 clamp(1.75rem,3vw,2.5rem)/1.4 Georgia,serif;
  color:var(--in-text);
}

.in-facts {
  border:1px solid var(--in-line);
  background:var(--in-card);
  color:var(--in-text);
  padding:25px;
  border-radius:8px;
}

.in-facts>div {
  border-left:2px solid #b9ad82;
  padding-left:16px;
}

.in-facts strong {
  font-family:Georgia,serif;
  font-size:clamp(2rem,4vw,3.5rem);
  display:block;
}

.in-facts span {
  font-size:.92rem;
  color:#e4ebdb;
}

.in-video-section {
  margin-top:36px;
}
.in-video-section>div:last-child { padding:clamp(18px,2.2vw,29px); background:var(--in-card); border:1px solid var(--in-line); border-radius:8px; }
.in-video-section .tour-placeholder {
  background:linear-gradient(140deg,var(--in-soft),var(--in-inset));
  border-color:var(--in-line);
  color:var(--in-text);
}
.in-video-section .tour-mark { color:var(--in-accent); border-color:var(--in-field-border); }
.in-video-section .tour-placeholder>span:last-child { color:var(--in-muted); }

.in-factory-film {
  width:100%;
  aspect-ratio:16/9;
  border:1px solid var(--in-line);
  border-radius:8px;
  background:var(--in-card);
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--in-muted);
}

.in-factory-film svg {
  width:42px;
  height:42px;
}

.in-factory-film strong {
  color:var(--in-text);
}

.in-factory-film span {
  font-size:.85rem;
}

.in-steps {
  list-style:none;
  padding:0;
  margin:0;
}

.in-steps li {
  display:flex;
  align-items:baseline;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--in-line);
}

.in-steps li span {
  color:var(--in-accent);
  font-weight:600;
}

.in-steps h3 {
  margin:0;
}

.in-contact-layout {
  grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);
  align-items:start;
}

.in-form {
  min-width:0;
}

.in-form h2,.in-contact-card h2 {
  margin:.3em 0 .6em;
  font-size:2rem;
}

.in-form .in-actions,.in-form>label {
  margin-top:18px;
}

.in-form .in-field-grid > * { min-width:0; }
.in-form [data-sample-ref-label] small { color:var(--in-muted); line-height:1.45; font-weight:400; }
.sg .sg-reference {
  display:flex; align-items:center; gap:.45em; width:fit-content; max-width:100%; min-height:36px;
  color:var(--in-accent); font-size:.87rem; font-weight:650; text-decoration:underline; text-underline-offset:3px;
}
.sg .sg-reference span { color:inherit; font-variant-numeric:tabular-nums; }
@media (max-width:850px) { .sg .sg-reference { min-height:44px; } }
.in-form [data-method-min] { color:var(--in-muted); font-size:.88rem; line-height:1.5; font-weight:400; }
.in-inquiry-roll {
  grid-column:1/-1;
  padding:clamp(14px,2.2vw,22px);
  border:1px solid var(--in-field-border);
  border-radius:10px;
  background:var(--in-soft);
}
.in-inquiry-roll[hidden],.in-inquiry-roll [hidden] { display:none; }
.in-inquiry-roll h3 { margin:0 0 .4em; font-size:1.12rem; scroll-margin-top:100px; }
.in-inquiry-roll > p { margin:0 0 14px; line-height:1.55; }
.in-roll-formula p { margin:0 0 10px; line-height:1.55; }
.in-roll-formula strong { color:var(--in-accent); }
.in-inquiry-roll .in-roll-width { max-width:16rem; }
.in-inquiry-roll [data-roll-error] { display:block; margin-top:5px; color:#ffd0b6; }
.in-inquiry-roll [data-roll-error][hidden] { display:none; }
.in-roll-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:14px; margin-top:14px; }
.in-roll-choices > div { display:grid; align-content:start; gap:6px; border-top:1px solid var(--in-field-border); padding-top:11px; min-width:0; }
.in-roll-choices span { font-size:.9rem; color:var(--in-muted); }
.in-roll-choices output { font-size:1.35rem; font-weight:700; font-variant-numeric:tabular-nums; }
.in-roll-choices button {
  justify-self:start; max-width:100%; min-height:44px; border:1px solid var(--in-field-border);
  border-radius:6px; padding:6px 12px; background:transparent; color:var(--in-text);
  font:inherit; cursor:pointer;
}
.in-roll-choices button:hover:enabled { border-color:var(--in-accent); }
.in-roll-choices button:disabled { opacity:.54; cursor:default; }
@media(min-width:1150px) {
  .in-field-grid:has(> .in-inquiry-roll:not([hidden])) { align-items:start; }
  .in-field-grid:has(> .in-inquiry-roll:not([hidden])) > label:has(> input[name="structure"]) { grid-column:1; grid-row:4; }
  .in-field-grid:has(> .in-inquiry-roll:not([hidden])) > label:has(> input[name="quantity"]) { grid-column:1; grid-row:5; }
  .in-field-grid > .in-inquiry-roll { grid-column:2; grid-row:4 / span 2; padding:clamp(14px,1.4vw,20px); }
  .in-inquiry-roll .in-roll-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}

.in-contact-card {
  background:var(--in-card);
}

.in-contact-card .in-dl div {
  display:block;
}

.in-contact-card .in-dl dt {
  margin-bottom:6px;
}

.in-intent {
  border:0;
  margin:0 0 18px;
  padding:0;
  gap:8px;
}

.in-intent legend {
  font-size:.9rem;
  font-weight:600;
  margin:0 0 6px;
}

.in-intent label {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  border:1px solid var(--in-field-border);
  border-radius:6px;
  padding:8px 12px;
  cursor:pointer;
}

.in-intent label:hover { border-color:var(--in-accent); }
.in-intent label:has(:focus-visible) { outline:2px solid var(--in-accent); outline-offset:3px; }
.in-intent label:has(:checked) {
  border-color:var(--in-accent);
  background:rgb(112 121 68 / 35%);
}

.in-intent input {
  accent-color:var(--in-accent);
  margin:0 7px 0 0;
}

.in-sample-note,.in-draft {
  padding:14px;
  background:var(--in-soft);
  border-radius:6px;
}

.in-draft {
  margin-top:18px;
}

.in-draft pre {
  font:inherit;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-width:100%;
}

.in-draft h3 {
  margin-top:0;
}

.in-form-card[hidden],.in-empty[hidden],.in-sample-note[hidden],.in-draft[hidden],.in-field-grid label[hidden] {
  display:none;
}

@media(max-width:920px) {
  .in-product-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .in-method-grid {
    gap:12px;
  }
  .in-method {
    padding:18px;
  }
  .in-method .in-dl div {
    display:block;
  }
  .in-method .in-dl dt {
    margin-bottom:3px;
  }
  .in-contact-layout {
    grid-template-columns:minmax(0,1.45fr) minmax(210px,.8fr);
  }
  .in-filters {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px) {
  .in-crumb {
    margin-bottom:22px;
  }
  .in-product-grid,.in-facts {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .in-method-grid,.in-app-grid,.in-contact-layout,.in-split,.in-service-grid {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }
  .in-method p {
    min-height:0;
  }
  .in-method .in-dl div {
    display:grid;
  }
  .in-calc {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .in-calc label {
    grid-column:1/-1;
  }
  .in-card-foot {
    padding:12px 10px;
  }
  .in-card-foot h3 {
    font-size:1.08rem;
  }
  .in-field-grid,.in-steps {
    grid-template-columns:minmax(0,1fr);
    gap:13px;
  }
  .in-request-wrap {
    display:block;
  }
  .in-request .in-actions {
    margin-top:20px;
  }
  .in-facts {
    gap:20px;
    padding:18px;
  }
  .in-filters {
    gap:10px;
  }
  .in-text-button {
    justify-self:start;
  }
  .in-art-large {
    max-height:320px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .in-form-card {
    transition:none;
  }
  .in-form-card:hover {
    transform:none;
  }
}

.in-catalog-note {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
  background:var(--in-card);
  border:1px solid var(--in-line);
  border-radius:8px;
  padding:24px;
  margin-top:32px;
}

.in-catalog-note h2 {
  font-size:clamp(1.35rem,2vw,1.8rem);
  margin:.25em 0;
}

.in-catalog-note p {
  margin:0;
  color:var(--in-muted);
  line-height:1.55;
}

/* Keep long format names alongside the sample at narrow phone widths. */
@media(max-width:379px) {
  .in-product-grid { grid-template-columns:minmax(0,1fr); }
  .in-product-grid .in-form-card>a {
    display:grid;
    grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);
  }
  .in-product-grid .in-art {
    min-width:0;
    height:100%;
    min-height:140px;
    aspect-ratio:auto;
  }
  .in-product-grid .in-card-foot small { letter-spacing:normal; }
}

.in-method .in-method-minimum { color:var(--wood-type); font-weight:650; margin:6px 0 12px; }

.product-spec-sheet { margin:clamp(24px,4vw,54px) 0; }
.product-spec-sheet>.eyebrow { color:var(--in-accent); }
.product-spec-sheet h2 { margin:.25em 0 .4em; }
.product-spec-sheet .in-dl { max-width:84ch; }
.product-spec-sheet .in-actions { margin-top:18px; }
.product-intro .sg-catalog-link + .sg-catalog-link { margin-inline-start:16px; }
@media(max-width:600px) { .product-intro .sg-catalog-link + .sg-catalog-link { margin-inline-start:0; display:flex; width:fit-content; } }

.spec-brief-layout { display:grid; grid-template-columns:minmax(0,2.4fr) minmax(180px,1fr); gap:clamp(16px,3vw,46px); align-items:center; }
.spec-brief-layout figure { margin:18px 0; max-width:270px; }
.spec-visual :is(img,svg) { width:100%; height:180px; object-fit:contain; background:#edf3ec; border-radius:8px 24px 8px 18px; }
.spec-brief-layout figcaption { margin-top:7px; color:var(--in-muted); font-size:.9rem; }
@media(max-width:760px) { .spec-brief-layout { grid-template-columns:1fr; gap:0; } .spec-brief-layout figure { margin:8px 0; } }
