.gf-plan{--gp-ink:#242629;--gp-muted:#646762;--gp-surface:#f4f3ef;--gp-accent:#b84431;--gp-ease:cubic-bezier(.23,1,.32,1);max-width:1392px;margin:96px auto 72px;padding:0 24px;color:var(--gp-ink);box-sizing:border-box}
.gf-plan *{box-sizing:border-box}.gf-plan button,.gf-plan a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.gf-plan button{font:inherit;cursor:pointer}.gf-plan a{color:inherit;text-decoration:none}.gf-plan__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}.gf-plan__heading h2{font-size:clamp(36px,4.4vw,60px);line-height:1.03;letter-spacing:-.045em;font-weight:600;margin:0;text-wrap:balance}.gf-plan__heading>p{font-size:18px;line-height:1.55;margin:0 4px 3px 0;color:var(--gp-muted)}
.gf-plan__body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.85fr);align-items:stretch;background:var(--gp-surface);border-radius:20px;overflow:hidden}.gf-plan__visual{min-width:0;display:flex;flex-direction:column}.gf-plan__works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;margin:0 32px;padding-top:12px;border-bottom:1px solid #dcdcd5}.gf-plan__works button{border:0;background:transparent;color:var(--gp-muted);font-weight:500;font-size:22px;min-height:76px;padding:14px 4px;transition:color 160ms ease}.gf-plan__works button[aria-pressed=true]{color:var(--gp-ink)}.gf-plan__indicator{position:absolute;bottom:-1px;left:0;height:3px;width:33.333%;background:var(--gp-accent);transition:transform 240ms var(--gp-ease);pointer-events:none}.gf-plan[data-gp-work=drill] .gf-plan__indicator{transform:translateX(100%)}.gf-plan[data-gp-work=paint] .gf-plan__indicator{transform:translateX(200%)}
.gf-plan__scene{position:relative;overflow:hidden;display:grid;align-items:center;flex:1;min-height:450px;padding:22px 0 40px}.gf-plan__camera{position:relative;transform:scale(1.05);transform-origin:26% 52%;transition:transform 620ms var(--gp-ease),transform-origin 620ms var(--gp-ease)}.gf-plan[data-gp-work=cut] .gf-plan__camera{transform:scale(1.13);transform-origin:22% 52%}.gf-plan[data-gp-work=drill] .gf-plan__camera{transform:scale(1.13);transform-origin:53% 54%}.gf-plan[data-gp-work=paint] .gf-plan__camera{transform:scale(1.13);transform-origin:81% 42%}.gf-plan__camera img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.gf-plan__point{position:absolute;width:44px;height:44px;border-radius:50%;padding:0;border:0;background:#fff;color:var(--gp-ink);display:grid;place-items:center;transform:translate(-50%,-50%);transition:background 180ms ease,color 180ms ease}.gf-plan__point span{font-size:25px;font-weight:400;line-height:1;transition:transform 240ms var(--gp-ease)}.gf-plan__point[aria-pressed=true]{background:var(--gp-accent);color:#fff}.gf-plan__point[aria-pressed=true] span{transform:scale(.8)}.gf-plan__point--cut{left:23%;top:42%}.gf-plan__point--drill{left:54%;top:55%}.gf-plan__point--paint{left:81%;top:32%}.gf-plan__scene-caption{position:absolute;bottom:10px;left:32px;margin:0;color:var(--gp-muted);font-size:14px;line-height:1.4;pointer-events:none}
.gf-plan__selection{padding:34px 30px 26px;background:#eaece6;display:flex;flex-direction:column;min-width:0}.gf-plan__question{font-size:17px;font-weight:500;line-height:1.45;margin:0 0 16px}.gf-plan__choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.gf-plan__choices button{min-height:44px;font-size:14px;line-height:1.35;background:transparent;border:1px solid #b9bfb5;border-radius:6px;padding:10px 12px;color:var(--gp-ink);transition:background 160ms ease,color 160ms ease,border-color 160ms ease}.gf-plan__choices button[aria-pressed=true]{background:var(--gp-ink);color:#fff;border-color:var(--gp-ink)}.gf-plan__result{flex:1;min-height:330px}.gf-plan__result h3{font-size:30px;line-height:1.12;letter-spacing:-.025em;font-weight:600;margin:0 0 12px;text-wrap:balance}.gf-plan__explanation{font-size:15px;line-height:1.6;color:#51584e;margin:0 0 22px;min-height:72px}.gf-plan__destinations{display:grid;gap:9px;margin-bottom:24px}.gf-plan__destinations a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;font-size:15px;font-weight:500;line-height:1.4;padding:12px 16px;border:1px solid #c0c5ba;border-radius:6px;transition:background 160ms ease,color 160ms ease}.gf-plan__destinations a:first-child{background:var(--gp-ink);border-color:var(--gp-ink);color:#fff}.gf-plan__destinations a span{font-size:21px;transition:transform 160ms var(--gp-ease)}.gf-plan__check-title{font-size:13px;color:#5a6255;margin:0 0 10px}.gf-plan__checks{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:0;font-size:13px;line-height:1.5;color:#444d3e}.gf-plan__checks li:before{content:'✓';margin-right:5px;color:#57714b}.gf-plan__help{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;line-height:1.5;min-height:44px;margin-top:20px;padding-top:16px;border-top:1px solid #cbd0c4}.gf-plan :is(button,a):focus-visible{outline:3px solid var(--gp-accent);outline-offset:4px}.gf-plan[data-gp-keyboard] .gf-plan__camera,.gf-plan[data-gp-keyboard] .gf-plan__indicator{transition:none}
@media(hover:hover) and (pointer:fine){.gf-plan__works button:hover{color:var(--gp-accent)}.gf-plan__choices button:not([aria-pressed=true]):hover{background:#dce1d5}.gf-plan__destinations a:hover span,.gf-plan__help:hover span{transform:translateX(3px)}.gf-plan__destinations a:first-child:hover{background:#3c4137}.gf-plan__point:not([aria-pressed=true]):hover{background:#e9ecdf}}
@media(max-width:1000px){.gf-plan__body{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}.gf-plan__selection{padding:28px 24px}.gf-plan__scene{min-height:410px}.gf-plan__heading>p{font-size:16px}.gf-plan__result h3{font-size:27px}.gf-plan__works{margin:0 24px}}
@media(max-width:700px){.gf-plan{margin:64px auto 48px;padding:0 16px}.gf-plan__heading{display:block;margin-bottom:24px}.gf-plan__heading h2{font-size:38px;line-height:1.06}.gf-plan__heading>p{margin:16px 0 0;font-size:15px}.gf-plan__heading>p br{display:none}.gf-plan__body{grid-template-columns:minmax(0,1fr);border-radius:14px}.gf-plan__works{margin:0 20px;padding-top:0}.gf-plan__works button{font-size:18px;min-height:66px}.gf-plan__scene{min-height:0;aspect-ratio:auto;padding:20px 0 40px}.gf-plan__camera{width:100%}.gf-plan__scene-caption{left:20px;bottom:8px;font-size:12px}.gf-plan__point{width:44px;height:44px}.gf-plan__selection{padding:24px 22px}.gf-plan__choices{margin-bottom:24px;gap:7px}.gf-plan__result{min-height:0}.gf-plan__result h3{font-size:28px}.gf-plan__explanation{min-height:0}.gf-plan__check-title{font-size:14px}.gf-plan__checks{font-size:14px}.gf-plan__help{font-size:14px}}
@media(prefers-reduced-motion:reduce){.gf-plan *{animation:none!important;transition:none!important}}

.gf-plan__traces{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.gf-plan__trace{fill:none;stroke:#b84431;stroke-width:3;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset 650ms cubic-bezier(.23,1,.32,1),opacity 180ms ease}.gf-plan[data-gp-work=cut] .gf-plan__trace--cut,.gf-plan[data-gp-work=drill] .gf-plan__trace--drill,.gf-plan[data-gp-work=paint] .gf-plan__trace--paint{stroke-dashoffset:0;opacity:.8}.gf-plan[data-gp-keyboard] .gf-plan__trace{transition:none}@media(prefers-reduced-motion:reduce){.gf-plan__trace{transition:none}}
