/* Firmenrechtsschutz: original neutral/blue identity, compact glass compositions. */
body[data-firma-glass] {
 --fg-ink:#1d1d1f; --fg-muted:#62636b; --fg-blue:#376ccb;
 --fg-material:linear-gradient(145deg,rgba(255,255,255,.91),rgba(255,255,255,.55));
 --fg-border:rgba(255,255,255,.9); --fg-edge:rgba(255,255,255,.95);
 --fg-shadow:0 12px 32px rgba(28,36,55,.07),0 2px 5px rgba(28,36,55,.035);
 --fg-hover-shadow:0 18px 38px rgba(28,36,55,.12),0 3px 7px rgba(28,36,55,.045);
 --fg-rule:rgba(60,65,80,.12); --fg-wash:rgba(63,117,216,.08);
}
html[data-theme="dark"] body[data-firma-glass] {
 --fg-ink:#f5f5f7; --fg-muted:#b5b6bd; --fg-blue:#8ab4f8;
 --fg-material:linear-gradient(145deg,rgba(61,62,67,.73),rgba(28,29,33,.75));
 --fg-border:rgba(255,255,255,.14); --fg-edge:rgba(255,255,255,.12);
 --fg-shadow:0 12px 32px rgba(0,0,0,.15),0 2px 5px rgba(0,0,0,.08);
 --fg-hover-shadow:0 18px 40px rgba(0,0,0,.25),0 4px 8px rgba(0,0,0,.1);
 --fg-rule:rgba(255,255,255,.12); --fg-wash:rgba(63,117,216,.09);
}
body[data-firma-glass] :is(.fr-proof-grid,.fr-features,.fg-grid) {
 background:radial-gradient(ellipse at 20% 30%,var(--fg-wash),transparent 65%);
}
body[data-firma-glass] :is(.fr-proof-item,.fr-feature,.fg-card,.fr-steps) {
 position:relative; isolation:isolate; min-width:0; color:var(--fg-ink);
 background:var(--fg-material); border:1px solid var(--fg-border);
 border-radius:28px; box-shadow:inset 0 1px 0 var(--fg-edge),var(--fg-shadow);
 -webkit-backdrop-filter:blur(20px) saturate(115%); backdrop-filter:blur(20px) saturate(115%);
 transition:translate 280ms cubic-bezier(.23,1,.32,1),box-shadow 280ms ease,border-color 280ms ease;
}
body[data-firma-glass] :is(.fr-proof-item,.fr-feature,.fg-card)::before {
 content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:-1;
 background:linear-gradient(120deg,rgba(255,255,255,.09),transparent 55%); opacity:.4;
 transition:opacity 250ms ease;
}
body[data-firma-glass] .firma-refined {--fr-blue:var(--fg-blue);--fr-muted:var(--fg-muted);}
/* The proof area has a large review pane, a compact certificate and a separate action bar. */
body[data-firma-glass] .fr-proof-grid {
 grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:16px;
 padding:0; border:0; border-radius:0;
}
body[data-firma-glass] .fr-proof-item {padding:26px 30px; gap:12px;}
body[data-firma-glass] .fr-proof-item + .fr-proof-item {border-left:1px solid var(--fg-border);}
body[data-firma-glass] .fr-proof-item:first-child {border-radius:36px 28px 28px 28px;}
body[data-firma-glass] .fr-proof-item:nth-child(2) {border-radius:28px 54px 28px 28px; padding-right:34px;}
body[data-firma-glass] .fr-proof-top {min-height:52px; flex-wrap:nowrap;}
body[data-firma-glass] .fr-stars {font-size:23px; letter-spacing:3px;}
body[data-firma-glass] .fr-seal {width:58px;height:58px;flex-basis:58px; padding:7px; border-radius:14px;box-shadow:0 5px 12px rgba(0,0,0,.1);transition:transform 240ms cubic-bezier(.23,1,.32,1);}
body[data-firma-glass] .fr-proof-item:nth-child(3) {
 grid-column:1/-1; display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,1.35fr) auto;
 align-items:center; column-gap:28px; row-gap:5px; border-radius:24px; padding:22px 30px;
}
body[data-firma-glass] .fr-proof-item:nth-child(3) .fr-proof-top {grid-column:1; grid-row:1; min-height:0;}
body[data-firma-glass] .fr-proof-item:nth-child(3) h3 {grid-column:1;grid-row:2;}
body[data-firma-glass] .fr-proof-item:nth-child(3) p {grid-column:2;grid-row:1/3;}
body[data-firma-glass] .fr-proof-item:nth-child(3) > a {grid-column:3;grid-row:1/3;margin:0;}
body[data-firma-glass] .fr-button {box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 6px 16px rgba(45,97,189,.18);}
body[data-firma-glass] .fr-proof-item :is(h2,h3) {font-size:24px;}
/* A frosted sequence with responsive rows, rather than four disconnected boxes. */
body[data-firma-glass] .fr-steps {padding:10px 26px;}
body[data-firma-glass] .fr-step {grid-template-columns:40px minmax(0,1fr);gap:18px;padding:20px 0;border-color:var(--fg-rule);}
body[data-firma-glass] .fr-step:last-child {border-bottom:0;}
body[data-firma-glass] .fr-step-number {width:36px;height:36px;display:grid;place-items:center;line-height:1;background:var(--fg-wash);border:1px solid var(--fg-rule);border-radius:12px;transition:background 200ms ease,box-shadow 200ms ease;}
body[data-firma-glass] .fr-step h3 {font-size:21px;}
body[data-firma-glass] .fr-step p {font-size:14px;}
body[data-firma-glass] .fr-feature-image {border-top:1px solid var(--fg-rule);}
/* Compact topic surfaces: deliberately different grids, one material. */
body[data-firma-glass] .fg-grid {display:grid;gap:16px; margin-top:28px;align-items:stretch;}
body[data-firma-glass] .fg-card {padding:26px; height:auto; text-align:left; text-decoration:none;}
body[data-firma-glass] .fg-card :is(h2,h3,h4) {font-size:23px;line-height:1.2;letter-spacing:-.035em;font-weight:600; margin:12px 0;color:var(--fg-ink);text-wrap:balance;}
body[data-firma-glass] .fg-card p,body[data-firma-glass] .fg-card ul {font-size:15px;line-height:1.7;margin:0;color:var(--fg-muted);}
body[data-firma-glass] .fg-card ul {margin-top:16px;}
body[data-firma-glass] .fg-card li + li {margin-top:12px;}
body[data-firma-glass] .fg-eyebrow {font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;color:var(--fg-muted);}
body[data-firma-glass] .fg-region {grid-template-columns:repeat(3,minmax(0,1fr));}
body[data-firma-glass] .fg-aside {grid-template-columns:1fr;margin-top:0;}
body[data-firma-glass] .fg-risks {grid-template-columns:repeat(2,minmax(0,1fr));}
body[data-firma-glass] .fg-risks > :first-child {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:40px;align-items:center;}
body[data-firma-glass] .fg-risks > :first-child .fg-eyebrow {grid-column:1;grid-row:1;}
body[data-firma-glass] .fg-risks > :first-child h3 {grid-column:1;grid-row:2;margin-bottom:0;}
body[data-firma-glass] .fg-risks > :first-child p {grid-column:2;grid-row:1/3;}
body[data-firma-glass] .fg-products {grid-template-columns:repeat(4,minmax(0,1fr));}
body[data-firma-glass] .fg-places {grid-template-columns:repeat(2,minmax(0,1fr));}
body[data-firma-glass] .fg-grid > a {padding-bottom:56px;}
body[data-firma-glass] .fg-grid > a::after {content:'↗';position:absolute;right:24px;bottom:18px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--fg-wash);color:var(--fg-blue);transition:transform 220ms cubic-bezier(.23,1,.32,1);}
body[data-firma-glass] .fg-grid a:focus-visible {outline:2px solid var(--fg-blue);outline-offset:4px;}
body[data-firma-glass] .fg-grid a:active {translate:0 0;scale:.99;}
body[data-firma-glass] .fg-audience {grid-template-columns:repeat(6,minmax(0,1fr));}
body[data-firma-glass] .fg-audience > * {grid-column:span 2;}
body[data-firma-glass] .fg-audience > :nth-child(-n+2) {grid-column:span 3;}
body[data-firma-glass] .fg-audience > :last-child {border-radius:28px 54px 28px 28px;}
body[data-firma-glass] .fg-card a {color:var(--fg-blue);}
body[data-firma-glass] .fg-region-shell {padding:0;background:none;}
body[data-firma-glass] .fg-region-shell > div:first-child {max-width:920px;}
body[data-firma-glass] .fg-region-shell h2 {font-size:clamp(28px,3.2vw,42px);line-height:1.15;letter-spacing:-.035em;hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:balance;}
body[data-firma-glass] .fg-region-shell h2 + p {max-width:820px;}
@media(hover:hover) and (pointer:fine) {
 body[data-firma-glass] :is(.fr-proof-item,.fr-feature,.fg-card):hover {translate:0 -3px;box-shadow:inset 0 1px 0 var(--fg-edge),var(--fg-hover-shadow);border-color:var(--fg-blue);}
 body[data-firma-glass] :is(.fr-proof-item,.fr-feature,.fg-card):hover::before {opacity:1;}
 body[data-firma-glass] .fr-proof-item:nth-child(2):hover .fr-seal {transform:translateY(-2px) rotate(-3deg);}
 body[data-firma-glass] .fg-grid > a:hover::after {transform:translate(2px,-2px);}
 body[data-firma-glass] .fr-step:hover .fr-step-number {background:var(--fg-wash);box-shadow:inset 0 0 0 1px var(--fg-blue);}
}
@media(max-width:1000px) {
 body[data-firma-glass] .fg-products {grid-template-columns:repeat(2,minmax(0,1fr));}
 body[data-firma-glass] .fr-proof-item:nth-child(3) {grid-template-columns:minmax(0,1fr) auto;}
 body[data-firma-glass] .fr-proof-item:nth-child(3) p {grid-column:1;grid-row:3;}
 body[data-firma-glass] .fr-proof-item:nth-child(3) > a {grid-column:2;grid-row:1/4;}
 body[data-firma-glass] .fg-region {grid-template-columns:repeat(2,minmax(0,1fr));}
 body[data-firma-glass] .fg-region > :last-child {grid-column:1/-1;}
}
@media(max-width:700px) {
 body[data-firma-glass] .fr-proof-grid {grid-template-columns:1fr;gap:14px;}
 body[data-firma-glass] .fr-proof-item {padding:24px;}
 body[data-firma-glass] .fr-proof-item:nth-child(2) {padding:24px;}
 body[data-firma-glass] .fr-proof-item:nth-child(3) {display:flex;align-items:flex-start;padding:24px;gap:12px;}
 body[data-firma-glass] .fr-proof-item:nth-child(3) > a {margin-top:4px;}
 body[data-firma-glass] .fr-stars {font-size:18px;letter-spacing:1px;}
 body[data-firma-glass] .fr-proof-item :is(h2,h3) {font-size:23px;}
 body[data-firma-glass] .fr-steps {padding:4px 20px;}
 body[data-firma-glass] .fr-step {grid-template-columns:32px minmax(0,1fr);gap:12px;}
 body[data-firma-glass] .fr-step-number {width:30px;height:30px;font-size:13px;border-radius:10px;}
 body[data-firma-glass] .fg-grid {grid-template-columns:1fr;gap:14px;margin-top:24px;}
 body[data-firma-glass] .fg-grid > * {grid-column:auto;}
 body[data-firma-glass] .fg-audience > :nth-child(-n+2),body[data-firma-glass] .fg-audience > * {grid-column:1/-1;}
 body[data-firma-glass] .fg-risks > :first-child {display:block;}
 body[data-firma-glass] .fg-risks > :first-child h3 {margin-bottom:12px;}
 body[data-firma-glass] .fg-card {padding:24px;}
 body[data-firma-glass] .fg-card :is(h2,h3,h4) {font-size:22px;}
}
@media(prefers-reduced-motion:reduce) {
 body[data-firma-glass] :is(.fr-proof-item,.fr-feature,.fg-card,.fr-seal,.fr-step-number),body[data-firma-glass] .fg-grid > a::after {transition:none;translate:none!important;transform:none!important;}
}
@media(prefers-reduced-transparency:reduce) {
 body[data-firma-glass] {--fg-material:linear-gradient(145deg,#fff,#f0f1f4);}
 html[data-theme="dark"] body[data-firma-glass] {--fg-material:linear-gradient(145deg,#343539,#1e1f22);}
 body[data-firma-glass] :is(.fr-proof-item,.fr-feature,.fg-card,.fr-steps) {backdrop-filter:none;-webkit-backdrop-filter:none;}
}
@media(prefers-contrast:more) {
 body[data-firma-glass] {--fg-material:#fff;--fg-border:#87878c;}
 html[data-theme="dark"] body[data-firma-glass] {--fg-material:#242426;--fg-border:#929299;}
 body[data-firma-glass] :is(.fr-proof-item,.fr-feature,.fg-card,.fr-steps) {backdrop-filter:none;-webkit-backdrop-filter:none;}
}
/* Shape composition: readable rectangles, one certificate medallion and a topic tag. */
body[data-firma-glass] .fr-proof-grid {grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto auto;gap:16px;align-items:stretch;}
body[data-firma-glass] .fr-proof-item:first-child {grid-column:1;grid-row:1;border-radius:28px;}
body[data-firma-glass] .fr-proof-item:nth-child(2) {
 grid-column:2;grid-row:1/3;align-self:center;justify-self:center;
 width:340px;min-height:340px;aspect-ratio:1;border-radius:50%;
 padding:36px 42px;gap:8px;align-items:center;justify-content:center;text-align:center;
}
body[data-firma-glass] .fr-proof-item:nth-child(2) .fr-proof-top {gap:14px;min-height:44px;}
body[data-firma-glass] .fr-proof-item:nth-child(2) .fr-seal {width:44px;height:44px;flex-basis:44px;padding:5px;border-radius:10px;}
body[data-firma-glass] .fr-proof-item:nth-child(2) h3 {font-size:22px;}
body[data-firma-glass] .fr-proof-item:nth-child(2) p {font-size:13px;line-height:1.6;}
body[data-firma-glass] .fr-proof-item:nth-child(2) > a {margin:0;}
body[data-firma-glass] .fr-proof-item:nth-child(3) {grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr) auto;border-radius:24px;column-gap:22px;padding:22px 30px;}
body[data-firma-glass] .fr-proof-item:nth-child(3) p {grid-column:1;grid-row:3;font-size:13px;}
body[data-firma-glass] .fr-proof-item:nth-child(3) > a {grid-column:2;grid-row:1/4;}
body[data-firma-glass] .fg-audience {grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;align-items:stretch;}
body[data-firma-glass] .fg-audience > :first-child {
 grid-column:1;grid-row:1/3;border-radius:90px 90px 24px 24px;
 padding:76px 28px 30px;text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;
}
body[data-firma-glass] .fg-audience > :first-child::after {content:"";position:absolute;left:calc(50% - 8px);top:25px;width:16px;height:16px;border-radius:50%;background:var(--fg-rule);border:1px solid var(--fg-border);box-shadow:inset 0 2px 4px rgba(0,0,0,.18),0 1px 0 var(--fg-edge);}
body[data-firma-glass] .fg-audience > :nth-child(2) {grid-column:2;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;border-radius:24px;}
body[data-firma-glass] .fg-audience > :nth-child(3) {grid-column:3/5;grid-row:1;border-radius:60px 24px 24px 24px;}
body[data-firma-glass] .fg-audience > :nth-child(4) {grid-column:3;grid-row:2;border-radius:24px;}
body[data-firma-glass] .fg-audience > :nth-child(5) {grid-column:4;grid-row:2;border-radius:24px 24px 60px 24px;}
@media(max-width:1000px) {
 body[data-firma-glass] .fr-proof-grid {grid-template-columns:minmax(0,1fr) 320px;}
 body[data-firma-glass] .fr-proof-item:nth-child(2) {width:320px;min-height:320px;padding:32px 36px;}
 body[data-firma-glass] .fr-proof-item:nth-child(3) {grid-column:1/-1;grid-row:2;}
 body[data-firma-glass] .fr-proof-item:nth-child(2) {grid-row:1;}
 body[data-firma-glass] .fg-audience {grid-template-columns:repeat(2,minmax(0,1fr));}
 body[data-firma-glass] .fg-audience > :first-child {grid-column:1;grid-row:1;}
 body[data-firma-glass] .fg-audience > :nth-child(2) {grid-column:2;grid-row:1;}
 body[data-firma-glass] .fg-audience > :nth-child(3) {grid-column:1/-1;grid-row:2;}
 body[data-firma-glass] .fg-audience > :nth-child(4) {grid-column:1;grid-row:3;}
 body[data-firma-glass] .fg-audience > :nth-child(5) {grid-column:2;grid-row:3;}
}
@media(max-width:700px) {
 body[data-firma-glass] .fr-proof-grid {grid-template-columns:1fr;grid-template-rows:auto;}
 body[data-firma-glass] .fr-proof-item:nth-child(2) {grid-column:1;grid-row:2;width:min(100%,340px);min-height:0;padding:36px 38px;}
 body[data-firma-glass] .fr-proof-item:nth-child(3) {grid-column:1;grid-row:3;display:flex;padding:24px;}
 body[data-firma-glass] .fg-audience {grid-template-columns:1fr;}
 body[data-firma-glass] .fg-audience > :nth-child(n) {grid-column:1;grid-row:auto;}
 body[data-firma-glass] .fg-audience > :first-child {max-width:320px;width:100%;justify-self:center;min-height:280px;}
 body[data-firma-glass] .fg-audience > :nth-child(2) {max-width:320px;width:100%;justify-self:center;min-height:240px;}
}
@media(max-width:360px) {
 body[data-firma-glass] .fr-proof-item:nth-child(2) {aspect-ratio:auto;border-radius:90px;padding:32px 28px;}
}
/* A contrasting surface remains useful in either colour mode. */
body[data-firma-glass] :is(.fg-audience > :nth-child(2),.fg-region > :first-child) {
 --fg-material:linear-gradient(145deg,rgba(47,48,53,.97),rgba(23,24,27,.97));
 --fg-ink:#f5f5f7;--fg-muted:#c0c1c8;--fg-blue:#9dc1ff;
 --fg-border:rgba(255,255,255,.14);--fg-edge:rgba(255,255,255,.12);
}
html[data-theme="dark"] body[data-firma-glass] :is(.fg-audience > :nth-child(2),.fg-region > :first-child) {
 --fg-material:linear-gradient(145deg,rgba(255,255,255,.97),rgba(235,237,243,.96));
 --fg-ink:#1d1d1f;--fg-muted:#5c5e66;--fg-blue:#285bb3;
 --fg-border:rgba(255,255,255,.7);--fg-edge:rgba(255,255,255,.95);
}
