/* Local company page: Recht & Heim materials with business-specific shapes. */
.fk :is(h1,h2,h3,p,a,summary) { overflow-wrap:break-word; hyphens:none; }
.fk :is(h1,h2,h3) { color:var(--ink); }
.fk :is(.rh-hero,.fk-risk-grid,.fk-resource-grid,.fk-services,.fk-advice-grid)>* { min-width:0; }
.fk .rh-hero-copy h1 { font-size:clamp(40px,4.6vw,63px); text-wrap:initial; }
.fk .rh-hero-copy h1 span { color:#f5f5f7; }
.fk .rh-hero-copy { gap:25px; }
.fk-studio { display:flex; flex-direction:column; justify-content:space-between; padding:30px; overflow:hidden; }
.fk-studio-label { display:flex; gap:15px; align-items:center; justify-content:space-between; }
.fk-location { font-size:11px; white-space:nowrap; color:#686b72; border:1px solid #d0d2d8; border-radius:20px; padding:6px 10px; }
.fk-office { display:block; width:100%; height:auto; margin:10px 0; overflow:visible; }
.fk-office :is(.fk-building,.fk-folder,.fk-shield) { transform-box:fill-box; transform-origin:center; transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .4s; }
.fk-studio[data-focus="vertraege"] .fk-folder { transform:translateY(-12px) rotate(-3deg); filter:drop-shadow(0 12px 10px #253c5a22); }
.fk-studio[data-focus="team"] .fk-shield { transform:translateY(-12px) scale(1.1); filter:drop-shadow(0 10px 10px #253c5a22); }
.fk-studio[data-focus="betrieb"] .fk-building { transform:translateY(-4px); }
.fk-choices { display:flex; gap:5px; padding:5px; border:1px solid #d4d6dc; border-radius:30px; background:#ffffff70; }
.fk-choices button { flex:1; min-height:40px; padding:8px 10px; border:0; border-radius:24px; background:transparent; color:#64666c; cursor:pointer; transition:background .2s,color .2s,box-shadow .2s; }
.fk-choices button[aria-pressed="true"] { background:#272729; color:#fff; box-shadow:0 3px 8px #0002; }
.fk-explain { padding:20px 2px 0; min-height:110px; }
.fk-explain h3 { font-size:20px; line-height:1.2; margin-bottom:8px; text-wrap:initial; }
.fk-risk-grid { display:grid; grid-template-columns:1.13fr 1fr .93fr; align-items:center; gap:22px; }
.fk-risk-grid article { display:flex; flex-direction:column; align-items:start; gap:19px; }
.fk-risk-grid h3 { font-size:27px; text-wrap:initial; }
.fk-risk-grid p:not(.rh-eyebrow) { font-size:15px; }
.fk-risk-grid .fk-document { border-radius:28px 76px 28px 28px; padding:30px; }
.fk-invoice { width:100%; border:1px solid #d5d8dd; border-bottom:2px dashed #c5cbd5; border-radius:12px 35px 0 0; background:#fff9; padding:19px; font-size:13px; color:#3c4149; position:relative; }
.fk-invoice>b { float:right; font-size:10px; font-weight:500; background:#eef1f6; padding:3px 10px; border-radius:12px; }
.fk-invoice i { display:block; height:4px; border-radius:4px; background:#d7dbe2; margin-top:12px; width:70%; }
.fk-invoice i:nth-of-type(2) { width:45%; }
.fk-invoice div { margin-top:16px; font-size:19px; line-height:1.25; letter-spacing:-.02em; }
.fk-team-card { min-height:440px; border-radius:32px 32px 85px 32px; }
.fk-text-link { display:inline-block; font-size:14px; font-weight:600; line-height:1.6; text-decoration:none; }
.fk-text-link:hover { text-decoration:underline; }
.fk-risk-grid .fk-circle { border-radius:50% 50% 43% 43%; text-align:center; align-items:center; padding:54px 28px 45px; min-height:370px; }
.fk-circle h3 { font-size:24px; }
.fk-clock { position:relative; width:65px; height:65px; border:1px solid #adb9cb; border-radius:50%; box-shadow:inset 0 0 0 5px #fff7; }
.fk-clock::before { content:''; position:absolute; width:4px; height:4px; background:#536d97; border-radius:50%; left:30px; top:30px; }
.fk-clock i,.fk-clock b { position:absolute; width:2px; background:#536d97; left:31px; bottom:31px; transform-origin:bottom; border-radius:3px; }
.fk-clock i { height:20px; transform:rotate(0deg); transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.fk-clock b { height:14px; transform:rotate(110deg); }
.fk-circle:hover .fk-clock i { transform:rotate(60deg); }
.fk-line-icon svg { width:53px; height:53px; stroke:var(--accent); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.fk .fk-cases { padding:0; }
.fk .rh-tabs button[aria-selected="true"] { color:#fff; }
html[data-theme="dark"] .fk .rh-tabs button[aria-selected="true"] { color:#202022; }
.fk .rh-case { gap:40px; padding:34px; align-items:center; }
.fk .rh-case-copy { gap:18px; }
.fk .rh-case-copy h3 { font-size:clamp(27px,2.7vw,35px); text-wrap:initial; }
.fk-check { border-left:2px solid var(--accent); padding:4px 0 4px 18px; }
.fk-check strong { font-size:13px; color:var(--ink); }
.fk-check p { font-size:15px; margin-top:7px; }
.fk-case-art { min-height:340px; position:relative; display:flex; align-items:center; justify-content:center; flex-direction:column; background:linear-gradient(140deg,#f4f5f7,#dfe2e8); border-radius:24px 75px 24px 24px; overflow:hidden; color:#292c32; }
.fk-art-note { position:absolute; bottom:20px; font-size:11px; color:#626b78; letter-spacing:.02em; }
.fk-paper { width:185px; padding:25px 22px; background:#fff; box-shadow:0 20px 30px #373e4c19; transform:rotate(-6deg); border-radius:7px 7px 0 0; position:relative; margin-bottom:20px; }
.fk-paper::after { content:''; position:absolute; bottom:-7px; left:0; right:0; height:8px; background:linear-gradient(135deg,#fff 5px,transparent 0) 0 0/12px 8px,linear-gradient(225deg,#fff 5px,transparent 0) 0 0/12px 8px; }
.fk-paper>span,.fk-contract-sheet>span { font-size:9px; font-weight:600; letter-spacing:.09em; }
.fk-paper i,.fk-contract-sheet i { display:block; height:5px; background:#e6e8ed; margin-top:18px; border-radius:3px; }
.fk-paper i:nth-of-type(2) { width:65%; }
.fk-paper strong { display:block; font-size:21px; font-weight:500; margin:25px 0 35px; letter-spacing:-.025em; }
.fk-paper-stamp { position:absolute; right:-18px; bottom:16px; border-radius:50%; width:58px; height:58px; background:#2b2e34; color:white; font-size:29px; display:grid; place-items:center; border:4px solid #f0f2f5; }
.fk-people { display:flex; align-items:end; gap:30px; margin-top:80px; }
.fk-people span { display:block; width:70px; height:78px; background:linear-gradient(#69707c,#383c43); border-radius:32px 32px 10px 10px; position:relative; }
.fk-people span::before { content:''; position:absolute; width:40px; height:40px; border-radius:50%; background:#9aa5b7; top:-48px; left:15px; border:1px solid #cfd5df; }
.fk-people span+span { background:linear-gradient(#fff,#ccd0d8); height:70px; }
.fk-dialog { position:absolute; font-size:12px; border-radius:15px 15px 15px 2px; padding:13px 16px; background:white; box-shadow:0 8px 20px #0001; }
.fk-dialog-one { left:20px; top:32px; transform:rotate(-5deg); }
.fk-dialog-two { right:20px; top:95px; background:#30343c; color:#fff; border-radius:15px 15px 2px 15px; transform:rotate(4deg); }
.fk-contract-sheet { width:150px; min-height:195px; border-radius:9px; padding:20px; background:#fff; box-shadow:0 18px 30px #20283822; transform:translate(-48px,-20px) rotate(-10deg); }
.fk-contract-sheet b { display:block; font-size:11px; font-weight:500; margin-top:25px; }
.fk-contract-front { position:absolute; transform:translate(55px,10px) rotate(9deg); background:#34383f; color:#fff; }
.fk-contract-front i { background:#5c6471; }
.fk .fk-section-note { margin-top:15px; }
.fk-services { display:grid; grid-template-columns:.78fr 1.3fr; gap:40px; align-items:start; }
.fk-services-intro { display:grid; gap:24px; border-radius:70px 30px 30px 30px; padding:42px 32px; }
.fk-number { font-size:55px; letter-spacing:-.07em; line-height:1; color:#ffffff59; }
.fk .rh-compare-group summary { padding:24px 6px; font-size:19px; gap:16px; }
.fk-detail-copy { padding:0 6px 24px; display:grid; gap:14px; }
.fk-detail-copy p { font-size:15px; }
.fk-resource-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:22px; }
.fk-pdf { display:grid; grid-template-columns:.8fr 1fr; align-items:center; gap:30px; }
.fk-cover { display:block; perspective:800px; }
.fk-cover img { display:block; width:100%; height:auto; max-height:280px; object-fit:contain; filter:drop-shadow(0 15px 15px #0002); transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.fk-cover:hover img { transform:rotateY(-10deg) translateY(-4px); }
.fk-pdf>div { display:grid; gap:17px; }
.fk-pdf h3 { font-size:25px; text-wrap:initial; }
.fk-pdf p:not(.rh-eyebrow) { font-size:15px; }
.fk-cost { display:grid; gap:18px; border-radius:30px 30px 65px 30px; }
.fk-cost .rh-btn { justify-self:start; }
.fk-more-links { display:flex; justify-content:space-between; gap:20px; margin-top:20px; font-size:14px; line-height:1.6; }
.fk-advice-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.fk-person { display:grid; gap:20px; }
.fk-person .fk-job { margin-top:-12px; font-size:14px; }
.fk-person address { font-size:15px; font-style:normal; line-height:1.8; color:var(--muted); border-top:1px solid var(--line); padding-top:17px; }
.fk-steps article { display:flex; gap:20px; padding:24px 0; border-bottom:1px solid var(--line); }
.fk-steps article:first-child { padding-top:0; }
.fk-steps article>span { font-size:13px; color:var(--accent); padding:8px; border:1px solid var(--line); border-radius:50%; width:37px; height:37px; text-align:center; flex-shrink:0; }
.fk-steps h3 { font-size:25px; margin-bottom:12px; text-wrap:initial; }
.fk-steps p { font-size:16px; }
.fk-steps>a { margin-top:24px; }
.fk .rh-faq { margin-top:90px; }
.fk [role="tabpanel"]:not([hidden]) .fk-case-art { animation:fk-enter .4s cubic-bezier(.2,.8,.2,1) both; }
.fk [role="tabpanel"]:not([hidden]) .rh-case-copy { animation:fk-enter .4s .04s cubic-bezier(.2,.8,.2,1) both; }
.fk-office { animation:fk-enter .8s cubic-bezier(.2,.8,.2,1) both; }
@keyframes fk-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media (min-width:761px) and (max-width:1100px) {
  .fk .rh-hero-copy { padding:30px; }
  .fk .rh-hero-copy h1 { font-size:44px; }
  .fk-risk-grid { grid-template-columns:1fr 1fr; }
  .fk-risk-grid .fk-circle { grid-column:1/-1; justify-self:center; width:360px; }
  .fk-pdf { grid-template-columns:1fr; }
  .fk-cover img { max-height:240px; }
}
@media (max-width:760px) {
  .fk .rh-hero-copy h1 { font-size:clamp(35px,9.2vw,48px); letter-spacing:-.045em; }
  .fk .rh-hero-copy { padding:28px 24px; }
  .fk-studio { padding:25px 22px; }
  .fk-studio-label { gap:10px; }
  .fk-studio-label .rh-eyebrow { font-size:9px; }
  .fk-location { font-size:10px; padding:5px 8px; }
  .fk-explain { min-height:115px; }
  .fk-risk-grid,.fk-services,.fk-resource-grid,.fk-advice-grid { grid-template-columns:1fr; gap:22px; }
  .fk-risk-grid .fk-document,.fk-team-card { padding:28px; min-height:0; }
  .fk-risk-grid .fk-circle { width:min(360px,100%); justify-self:center; min-height:365px; padding:45px 30px; }
  .fk .rh-case { grid-template-columns:1fr; padding:20px; gap:26px; }
  .fk-case-art { min-height:300px; }
  .fk .rh-tabs { padding:8px; gap:3px; }
  .fk .rh-tabs button { font-size:12px; padding:12px 5px; min-height:45px; }
  .fk .rh-case-copy h3 { font-size:27px; }
  .fk .rh-compare-group summary { font-size:17px; }
  .fk-pdf { padding:28px; grid-template-columns:1fr; }
  .fk-cover img { max-height:260px; }
  .fk-more-links { flex-direction:column; gap:13px; }
  .fk-person { padding:28px; }
  .fk-steps { padding:8px; }
  .fk .rh-faq { margin-top:65px; }
}
@media (prefers-reduced-motion:reduce) {
  .fk *,.fk *::before,.fk *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
