.workshop-icon {
  position: relative;
  display: inline-block;
  flex: none;
  width: 1.55rem;
  height: 1.55rem;
  color: currentColor;
}
.workshop-icon::before, .workshop-icon::after, .workshop-icon i {
  content: "";
  position: absolute;
  display: block;
}
.workshop-icon--speaker::before, .workshop-icon--tire::before, .workshop-icon--target::before {
  inset: 5%;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}
.workshop-icon--speaker::after, .workshop-icon--tire::after, .workshop-icon--target::after {
  inset: 27%;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}
.workshop-icon--speaker i, .workshop-icon--target i { inset: 43%; border-radius: 50%; background: currentColor; }
.workshop-icon--tire::before { border-style: dashed; }
.workshop-icon--dash::before { inset: 16% 2%; border: 1.5px solid currentColor; border-radius: 3px; }
.workshop-icon--dash::after { inset: 34% 18% 43%; border-block-start: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor; }
.workshop-icon--dash i { inset: 64% 18% auto; width: 20%; height: 2px; border-radius: 1px; background: currentColor; }
.workshop-icon--phone::before { inset: 1% 20%; border: 1.5px solid currentColor; border-radius: 4px; }
.workshop-icon--phone::after { left: 43%; right: 43%; bottom: 18%; height: 2px; background: currentColor; }
.workshop-icon--sensor::before, .workshop-icon--sensor::after {
  left: 3%; top: 16%; width: 78%; height: 68%; border: 1.5px solid transparent; border-inline-end-color: currentColor; border-radius: 50%;
}
.workshop-icon--sensor::after { left: 12%; top: 3%; height: 94%; }
.workshop-icon--sensor i { left: 20%; top: 41%; width: 18%; aspect-ratio: 1; border-radius: 50%; background: currentColor; }
.workshop-icon--seat::before { left: 22%; top: 11%; width: 27%; height: 60%; border: 1.5px solid currentColor; border-radius: 3px; transform: rotate(-15deg); }
.workshop-icon--seat::after { left: 29%; top: 62%; width: 61%; height: 23%; border: 1.5px solid currentColor; border-radius: 3px; }
.workshop-title-with-icon { display: flex; align-items: center; gap: .45rem; min-width: 0; }
.workshop-title-with-icon .workshop-icon { color: var(--signal); }
.guide-card .workshop-title-with-icon .workshop-icon { width: 1.2rem; height: 1.2rem; }

.finder {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(1.25rem, 4vw, 3.5rem);
  align-items: start;
  margin-block: 4.7rem 3.6rem;
  padding: clamp(1.15rem, 4vw, 3.25rem);
  border: 1px solid #44433a;
  border-radius: .8rem;
  background: radial-gradient(ellipse at 90% -20%, #573320 0%, #21211d 43%, var(--dark) 77%);
  box-shadow: 0 .9rem 2.2rem #211b141c;
}
.finder-copy { min-width: 0; }
.finder-copy h2 { margin: .58rem 0 .85rem; }
.finder-copy > p:not(.eyebrow) { color: #e1dbce; max-width: 42ch; font-size: 1.16rem; line-height: 1.42; }
.finder-controls { margin-top: 1.3rem; }
.finder-part-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .52rem; }
.finder-part-buttons button {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 3.4rem;
  padding: .52rem .68rem;
  color: #fff3e4;
  background: #252723;
  border: 1px solid #747267;
  border-radius: .3rem;
  font-size: .96rem;
  line-height: 1.16;
  font-weight: 700;
  text-align: start;
  overflow-wrap: anywhere;
}
.finder-part-buttons button:hover { border-color: #eea27d; background: #3a2f26; }
.finder-part-buttons button[aria-pressed="true"] { border-color: #ff9a66; background: #43291c; box-shadow: inset .18rem 0 #ff8248; }
.finder-part-buttons .workshop-icon { color: #ffa170; }
.finder-option-label { display: block; margin: .95rem 0 .3rem; color: #f4e4d5; font-weight: 700; }
.finder select {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 3.1rem;
  padding: .55rem .68rem;
  color: #fffaf1;
  background: #272923;
  border: 1px solid #747267;
  border-radius: .25rem;
  color-scheme: dark;
}
.finder-readout {
  display: grid;
  gap: .44rem;
  margin: .95rem 0;
  padding: .2rem 0 .2rem .8rem;
  border-left: 2px solid #e9753f;
}
.finder-readout div { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .36rem; line-height: 1; }
.finder-readout strong { color: #ffb589; font: 700 2.2rem/1 var(--title); font-variant-numeric: tabular-nums; }
.finder-readout [data-finder-unit] { color: #ffe5cd; font-weight: 700; }
.finder-note { color: #e1ded5; line-height: 1.35; }
.finder noscript .button { margin: .65rem .4rem 0 0; }
.finder-visuals { display: grid; gap: .72rem; min-width: 0; }
.vehicle-locator, .workshop-card { margin: 0; min-width: 0; border: 1px solid #61574b; border-radius: .58rem; background: #22231f; color: #fffaf1; --focus: #ffd0a7; }
.vehicle-locator-art { position: relative; aspect-ratio: 2; isolation: isolate; overflow: clip; border-radius: .52rem .52rem 0 0; }
.vehicle-locator-art img { height: 100%; object-fit: cover; }
.vehicle-locator-art::after { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: linear-gradient(0deg,#15141165, transparent 30%); }
.vehicle-pin {
  position: absolute;
  z-index: 1;
  top: var(--y);
  left: var(--x);
  width: clamp(1.15rem, 5.7%, 1.8rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 2px solid #ffe0c4;
  border-radius: 50%;
  background: #a23d1a98;
  box-shadow: 0 0 0 5px #ffa36b4d, 0 0 1rem #f87734c0;
  transition: top .36s cubic-bezier(.25,.75,.32,1), left .36s cubic-bezier(.25,.75,.32,1);
}
.vehicle-pin::after { content: ""; position: absolute; inset: 33%; background: #fff1d8; border-radius: 50%; }
.vehicle-locator figcaption { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem .54rem; padding: .48rem .75rem; color: #ded4c6; font-size: var(--caption-size); }
.vehicle-locator figcaption .workshop-icon { width: 1.08rem; height: 1.08rem; color: #ffa477; }
.vehicle-locator figcaption strong { color: #ffc6a6; }

.workshop-card { overflow: clip; }
.workshop-card-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .3rem .65rem; padding: .66rem .78rem .72rem; }
.workshop-card-title h2, .workshop-card-title h3 { font-size: clamp(1.4rem, 2.35vw, 2.05rem); text-wrap: wrap; }
.workshop-card-title > span { font-size: .8125rem; color: #f6c4a9; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.technical-art {
  position: relative;
  isolation: isolate;
  aspect-ratio: 1.7;
  overflow: clip;
  color: #e4ad89;
  background:
    linear-gradient(#dd987519 1px, transparent 1px) center / 1.28rem 1.28rem,
    linear-gradient(90deg,#dd987519 1px, transparent 1px) center / 1.28rem 1.28rem,
    radial-gradient(ellipse at center, #3d2c23, #1b1c19 75%);
}
.technical-art::after {
  content: "";
  position: absolute;
  inset: .4rem;
  pointer-events: none;
  border: 1px solid #b2886861;
  clip-path: polygon(0 0, 16% 0, 16% 2px, calc(100% - 16%) 2px, calc(100% - 16%) 0, 100% 0, 100% 100%, 84% 100%, 84% calc(100% - 2px), 16% calc(100% - 2px), 16% 100%, 0 100%);
}
.ink {
  --stroke: #d4a688;
  display: block;
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  height: var(--h);
  border: 1.5px solid var(--stroke);
  transform: translate(-50%, -50%) rotate(var(--a));
}
.ink--circle { height: auto; aspect-ratio: 1; border-radius: 50%; }
.ink--ellipse, .ink--arc { border-radius: 50%; }
.ink--rect { border-radius: .13rem; }
.ink--subtle { --stroke: #a9836c; opacity: .8; }
.ink--fill { background: #bd754726; }
.ink--dashed { border-style: dashed; --stroke: #d29a76; }
.ink--bright { --stroke: #ffb087; }
.ink--line, .ink--dimension {
  height: 0;
  border-width: 1.5px 0 0;
  transform-origin: left center;
  transform: rotate(var(--a));
}
.ink--dimension::before, .ink--dimension::after {
  content: "";
  position: absolute;
  top: -4px;
  width: 6px;
  height: 6px;
  border: solid var(--stroke);
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
}
.ink--dimension::before { left: 1px; transform: rotate(-135deg); }
.ink--dimension::after { right: 1px; }
.ink--arc { border-color: transparent transparent transparent var(--stroke); }
.diagram-pin, .diagram-letter, .dimension-tag {
  position: absolute;
  z-index: 2;
  top: var(--y);
  left: var(--x);
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  color: #ffe7d3;
  background: #251a15;
  border: 1px solid #eb9c6f;
  font-weight: 700;
}
.diagram-pin, .diagram-letter { width: clamp(19px, 5.6%, 28px); aspect-ratio: 1; border-radius: 50%; line-height: 1; font-size: min(.86rem, 15px); }
.diagram-pin { transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
[data-workshop-ready] .diagram-pin { cursor: pointer; }
[data-workshop-ready] .diagram-pin::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(44px, 100%);
  height: max(44px, 100%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
[data-workshop-ready] .diagram-pin:hover { border-color: #fff1e3; }
.diagram-pin[data-active] { color: #191511; background: #ffaf82; box-shadow: 0 0 0 .22rem #f98b554a; }
.dimension-tag { padding: .1em .42em; font-size: min(.86rem, 14px); line-height: 1.24; border-radius: .15rem; white-space: nowrap; }
.workshop-steps { display: flex; flex-wrap: wrap; gap: .34rem; padding: .6rem .62rem 0; }
.workshop-steps button, .window-controls button {
  display: inline-flex;
  align-items: center;
  gap: .36rem;
  min-height: 2.75rem;
  padding: .33rem .53rem;
  border: 1px solid #867365;
  border-radius: .23rem;
  color: #ffeadd;
  background: #2a2722;
  font-weight: 700;
  font-size: .89rem;
  line-height: 1.22;
  text-align: start;
}
.workshop-steps button > span {
  display: grid;
  place-items: center;
  width: 1.22em;
  aspect-ratio: 1;
  flex: none;
  color: #ffbb96;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .82em;
}
.workshop-steps button:hover, .window-controls button:hover { border-color: #ffd0a7; }
.workshop-steps button[aria-pressed="true"], .window-controls button[aria-pressed="true"] {
  color: #221812;
  background: #ffc6a6;
  border-color: #ffc6a6;
}
.workshop-steps button[aria-pressed="true"] > span { color: #743112; }
.workshop-hint { min-height: 3.05em; padding: .55rem .75rem .72rem; color: #f4e5d7; font-size: 1rem; line-height: 1.37; }
.workshop-fallback { padding: .5rem .75rem .75rem 2rem; color: #f2e5d7; font-size: .94rem; }
.workshop-fallback li + li { margin-top: .25rem; }
.finder-schematics [data-finder-scene]:not([hidden]) .technical-art, .comparison-drawing:not([hidden]) .technical-art {
  animation: print-view .22s ease-out both;
}
@keyframes print-view { from { opacity: .62; } to { opacity: 1; } }

.hub-workshop {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(1rem, 3.4vw, 2.65rem);
  align-items: center;
}
.speaker-intro-photo, .hub-workshop-photo { position: relative; margin: 0; min-width: 0; border-radius: .52rem; overflow: clip; background: #241c16; color: #fff8ed; }
.speaker-intro-photo img { aspect-ratio: 1.55; object-fit: cover; }
.hub-workshop-photo figcaption { padding: .56rem .7rem; font-size: var(--caption-size); }
.hub-workshop-copy h2 { margin: .42rem 0 .65rem; }
.hub-workshop { margin-block: 2.6rem 1.65rem; padding: clamp(.9rem, 2.5vw, 1.65rem); background: #eee2d0; border: 1px solid #dcc9ae; border-radius: .65rem; }
.hub-workshop-copy > p:not(.eyebrow) { max-width: 52ch; }
.hub-workshop-copy a { margin-top: .4rem; }
.hub-workshop-photo img { aspect-ratio: 1.9; object-fit: cover; }

.speaker-intro-photo { border: 1px solid #5f4837; }
.speaker-intro-photo figcaption { display: flex; align-items: center; flex-wrap: wrap; gap: .26rem .7rem; padding: .64rem .85rem; color: #fff7e9; }
.speaker-intro-photo figcaption strong { color: #ffb282; font: 700 2.5rem/.91 var(--title); }
.speaker-intro-photo figcaption span { font-weight: 700; line-height: 1.23; }
.speaker-intro-photo figcaption small { display: block; font-weight: 400; color: #e1d3c5; }
.speaker-blueprint {
  --focus: #ffd0a7;
  margin: 0 0 2.55rem;
  padding: clamp(.82rem, 3.1vw, 2.35rem);
  background: radial-gradient(ellipse at 88% 0%, #3d2b21, #191b17 75%);
  border: 1px solid #645045;
  border-radius: .7rem;
  color: #fff8ee;
}
.blueprint-heading h2 { margin: .42rem 0 .6rem; }
.blueprint-heading > p:last-child { color: #e9dbcd; max-width: 66ch; }
.blueprint-views { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin-top: 1.1rem; }
.blueprint-view { min-width: 0; margin: 0; background: #26251f; border: 1px solid #7b6554; border-radius: .45rem; overflow: clip; }
.blueprint-view-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .35rem .5rem;
  min-height: 3.6rem;
  padding: .44rem .76rem;
}
.blueprint-view h3 { font-size: 1.75rem; text-wrap: wrap; }
.blueprint-legend { margin: 0; padding: .58rem .7rem .7rem; }
.blueprint-legend > div { display: grid; grid-template-columns: minmax(5.2rem, .33fr) minmax(0, 1fr); align-items: start; gap: .42rem .52rem; padding: .4rem 0; }
.blueprint-legend > div + div { border-top: 1px solid #b990702d; }
.blueprint-legend dt { color: #ffccad; font-weight: 700; }
.blueprint-legend b { display: inline-grid; place-items: center; min-width: 1.13em; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; font-size: .78em; line-height: 1; }
.blueprint-legend dd { margin: 0; color: #eee2d6; line-height: 1.35; }
.drawing-lug { --x: 68%; --y: 24%; }
.door-plane, .speaker-flange, .speaker-cone, .speaker-magnet, .window-track, .window-glass, .clearance-line { position: absolute; }
.door-plane { top: 11%; bottom: 18%; left: 32%; width: 1px; border-inline-start: 1px dashed #b89174; }
.speaker-flange { top: 22%; left: 33%; height: 55%; width: 2%; border: 1.5px solid #ffbc93; border-radius: .12rem; background: #56392b; }
.speaker-cone { top: 27%; left: 35%; height: 45%; width: 24%; clip-path: polygon(0 0, 100% 31%, 100% 69%, 0 100%); background: #d5946c; }
.speaker-cone::after { content: ""; position: absolute; inset: 1.5px; clip-path: inherit; background: #442d24; }
.speaker-magnet { top: 39%; left: 58%; height: 23%; width: 9%; border: 1.5px solid #e2b194; border-radius: .12rem; background: #2e2520; }
.window-track { top: 6%; bottom: 17%; left: 80%; width: 1px; border-inline-start: 1px dashed #b9d5db; }
.window-glass { top: 39%; left: 77%; width: 6%; height: 32%; border: 1.5px solid #b9d5db; border-radius: .13rem; background: #8ca8b459; transition: top .42s cubic-bezier(.25,.75,.32,1); }
.clearance-line { top: 50%; left: 67%; width: 10%; border-top: 1px dashed #ffccad; transition: opacity .23s ease; }
.drawing-clearance { --x: 72%; --y: 41%; transition: opacity .23s ease; }
[data-window-view="up"] .window-glass { top: 6%; }
[data-window-view="up"] .clearance-line, [data-window-view="up"] .drawing-clearance { opacity: 0; }
.window-controls { display: flex; flex-wrap: wrap; gap: .4rem; }
.window-note { margin: -.24rem .7rem .76rem; color: #ffcfb1; font-size: .94rem; line-height: 1.36; }
.blueprint-source { margin-top: .53rem; color: #d9c6b5; font-size: var(--caption-size); }
.blueprint-source a { display: inline-block; padding: .28rem 0; color: #ffc3a0; text-underline-offset: .2em; }

.speaker-spec-reading > p { margin-bottom: .65rem; }
.spec-steps { display: grid; gap: .42rem; }
.spec-steps details { background: var(--white); border: 1px solid #cfc0ad; border-radius: .35rem; }
.spec-steps details[open] { border-color: #b9896b; }
.spec-steps summary {
  cursor: pointer;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto auto;
  align-items: center;
  gap: .48rem;
  padding: .58rem .7rem;
  min-height: 3rem;
  list-style: none;
  line-height: 1.2;
}
.spec-steps summary::-webkit-details-marker { display: none; }
.spec-steps summary:hover strong { color: var(--signal); }
.spec-index { display: grid; place-items: center; width: 1.65em; aspect-ratio: 1; background: #f0ddc8; color: #823216; border-radius: .2rem; font-weight: 700; font-size: .93rem; }
.spec-value { color: #873713; font-weight: 700; font-variant-numeric: tabular-nums; }
.spec-steps details > p { padding: .1rem .75rem .75rem; color: #4a443b; line-height: 1.45; }
.fit-tool, .inspection { padding: clamp(.9rem, 2.3vw, 1.5rem); background: #efe4d3; border: 1px solid #cebc9f; border-radius: .55rem; }
.fit-tool > .eyebrow { margin-bottom: .45rem; }
.fit-inputs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: .95rem 0 .8rem; }
.fit-field { display: grid; gap: .32rem; align-content: start; min-width: 0; line-height: 1.35; }
.fit-field label { color: var(--ink); font-weight: 700; }
.fit-input { display: flex; align-items: center; border: 1px solid #8b8274; border-radius: .25rem; background: var(--white); }
.fit-input input { width: 100%; min-width: 0; min-height: 3rem; padding: .5rem .55rem; color: var(--ink); background: transparent; border: 0; font: inherit; }
.fit-input > span { flex: none; padding-inline: .48rem; color: #565047; font-weight: 600; white-space: nowrap; }
.fit-field small { color: #5d5347; font-size: var(--caption-size); }
.fit-input:has(input[aria-invalid="true"]) { border-color: #952e17; box-shadow: inset 0 0 0 1px #952e17; }
.fit-error, .fit-field .fit-error { color: #892e1a; font-weight: 700; }
[data-fit-alert]:not(:empty) { margin-top: .65rem; }
.fit-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.fit-actions .button { min-height: 2.85rem; }
.fit-results:not(:empty) { margin-top: .78rem; }
.fit-results ul { display: grid; grid-template-columns: minmax(0,1fr); gap: .43rem; list-style: none; padding: 0; }
.fit-results li { padding: .53rem .65rem; background: var(--white); border: 1px solid #cfbaa3; border-inline-start: .23rem solid #a58165; border-radius: .24rem; }
.fit-results li[data-fit-state="less"] { border-inline-start-color: #b34116; }
.fit-results li p { color: #524b42; line-height: 1.35; }
.fit-scope { margin-top: .72rem; color: #564b40; font-size: var(--caption-size); line-height: 1.42; }
.fit-scenarios { display: grid; gap: .55rem; }
.fit-scenarios > div { padding: .63rem .8rem; border-inline-start: 2px solid #ba6e49; background: #fffaf0; }
.fit-scenarios p { line-height: 1.43; }
.inspection-status { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .85rem; margin: .7rem 0; color: #553f30; font-size: 1rem; font-weight: 700; }
.inspection-status progress { width: min(11rem, 100%); height: .65rem; accent-color: #b13d12; }
.inspection-items { display: grid; gap: .38rem; margin: .7rem 0; }
.inspection-items label {
  display: flex;
  align-items: start;
  min-height: 2.8rem;
  padding: .55rem .58rem;
  gap: .54rem;
  cursor: pointer;
  border: 1px solid #cbbda8;
  border-radius: .3rem;
  background: #fffaf0;
  line-height: 1.37;
}
.inspection-items input { flex: none; margin: .12rem 0 0; width: 1.1em; height: 1.1em; accent-color: #a53a13; }
.inspection-items label:has(input:checked) { border-color: #ad7452; background: #fff3e5; }

.comparison-visuals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .62rem; margin: .65rem 0 .85rem; }
.comparison-drawing { margin: 0; border: 1px solid #615347; border-radius: .47rem; overflow: clip; background: #22231e; color: #fff5e7; }
.comparison-drawing .technical-art { aspect-ratio: 1.7; }
.comparison-drawing figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .16rem .52rem; padding: .46rem .65rem; line-height: 1.33; }
.comparison-drawing figcaption span { color: #f6caad; }

@media (min-width: 1050px) {
  .finder { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vehicle-locator { display: grid; grid-template-columns: minmax(0, 1fr) minmax(7rem, 23%); }
  .vehicle-locator-art { border-radius: .52rem 0 0 .52rem; }
  .vehicle-locator figcaption { justify-content: center; align-items: flex-start; flex-direction: column; flex-wrap: nowrap; }
}
@media (max-width: 820px) {
  .finder { gap: .95rem; }
  .blueprint-legend > div { grid-template-columns: minmax(0,1fr); gap: .12rem; }
}
@media (max-width: 700px) {
  .finder, .hub-workshop, .blueprint-views { grid-template-columns: minmax(0,1fr); }
  .finder { margin-block: 3.25rem 2.3rem; }
  .finder-schematics { grid-row: 1; }
  .blueprint-legend > div { grid-template-columns: minmax(0,1fr); }
  .speaker-intro-photo img { aspect-ratio: 1.75; }
  .hub-workshop { margin-top: 1.5rem; }
}
@media (max-width: 420px) {
  .category-body .workshop-icon { width: 1rem; height: 1rem; }
  .category-body .workshop-title-with-icon { gap: .3rem; }
  .fit-inputs { grid-template-columns: minmax(0,1fr); }
  .spec-steps summary { grid-template-columns: auto minmax(0,1fr) auto; }
  .spec-steps summary .details-icon { grid-column: 3; grid-row: 1 / span 2; }
  .spec-value { grid-column: 2; }
}

.comparison-visual-note { margin: -.45rem 0 .68rem; color: var(--muted); font-size: var(--caption-size); }

/* Ferramentas: calculadora de pneu e compressor, leis e regras */
.tool-group { margin: 1rem 0 0; padding: 0; border: 0; min-width: 0; }
.tool-group legend { padding: 0; font-weight: 700; font-size: 1.06rem; color: var(--ink); }
.tool-group > p { margin-top: .15rem; color: #564b40; font-size: var(--caption-size); }
.fit-inputs--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.fit-input select { width: 100%; min-width: 0; min-height: 3rem; padding: .5rem .55rem; color: var(--ink); background: transparent; border: 0; font: inherit; }
.tool-more { margin-top: 1rem; border-top: 1px solid #cebc9f; padding-top: .7rem; }
.tool-more > summary { cursor: pointer; font-weight: 700; min-height: 2.75rem; display: flex; align-items: center; }
.home-tools { margin-block: clamp(2.2rem, 5vw, 3.6rem) 0; }
.home-tools .guide-list { grid-template-columns: repeat(3, minmax(0,1fr)); }
.law-notice { padding: .65rem .8rem; background: #efe4d3; border: 1px solid #cebc9f; border-radius: .3rem; }
.law-table th small { display: block; margin-top: .3rem; font-weight: 400; color: #5d5347; }
.law-table td, .options-table td a { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .home-tools .guide-list { grid-template-columns: minmax(0,1fr); }
  .tool-page .fit-inputs, .fit-inputs--three { grid-template-columns: minmax(0,1fr); }
  .options-table { display: block; overflow-x: auto; }
}
.law-table th:first-child { width: 24%; }
.law-table th:nth-child(3) { width: 22%; }
