.planner-section{background:#131610;border-top:1px solid #f1e53930;position:relative;overflow:hidden}
.planner-section>.section-label{justify-content:space-between}.planner-edition{font-size:8px;color:var(--muted)}
.planner-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:45px 0 55px}
.planner-heading h2{font-size:clamp(38px,5vw,82px)}.planner-heading h2 em{color:var(--accent)}
.planner-heading>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:290px}
.planner-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
.skin-atlas{position:sticky;top:95px;border:1px solid #5b6346;background:radial-gradient(ellipse at 50% 40%,#323c2022,transparent 70%),#0b0f09;isolation:isolate}
.atlas-top{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid #f1e53920;gap:15px}
.atlas-top>.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--accent)}
.atlas-views{display:flex;gap:3px}.atlas-views button{font:9px 'Courier New',monospace;padding:8px 12px;border:1px solid transparent;color:var(--muted)}
.atlas-views button[aria-pressed=true]{border-color:#f1e53980;color:var(--accent)}
.body-map{position:relative;width:min(100%,450px);margin:auto;aspect-ratio:5/7}
.body-map>svg{display:block;width:100%;height:100%}
#atlas-tattoo{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
#atlas-target{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.back-anatomy{display:none}.body-map.is-back .back-anatomy{display:block}.body-map.is-back .front-anatomy{display:none}
.body-hotspot{position:absolute;left:var(--x);top:var(--y);width:32px;height:32px;transform:translate(-50%,-50%);border-radius:50%;padding:0;z-index:3;display:grid;place-items:center}
.body-hotspot>span{display:block;width:5px;height:5px;border-radius:50%;background:#e6ecc899;box-shadow:0 0 0 5px #f1e53909;transition:.3s}
.body-hotspot:hover>span,.body-hotspot:focus-visible>span{background:var(--accent);box-shadow:0 0 0 9px #f1e53925}
.body-hotspot.active>span{background:var(--accent);box-shadow:0 0 18px #f1e53980}
.body-map:not(.is-back) [data-zone=back],.body-map.is-back [data-zone=chest]{visibility:hidden}
.atlas-bottom{display:flex;justify-content:space-between;gap:15px;padding:17px 25px;border-top:1px solid #f1e53920;font:10px 'Courier New',monospace;color:var(--accent);letter-spacing:.1em}
.atlas-live{font-size:8px;display:flex;gap:7px;align-items:center;color:#a4ad8b;white-space:nowrap}.atlas-live i{width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px #f1e53966}
.atlas-note{font:9px 'Courier New',monospace;line-height:1.7;color:var(--muted);padding:0 25px 20px;margin:0}
.planner-options{padding-top:5px}.planner-option{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.planner-step{display:flex;align-items:center;gap:15px;margin-bottom:22px}.planner-step>span{font:10px 'Courier New',monospace;color:var(--accent)}.planner-step h3{font-size:24px;letter-spacing:-.04em;font-weight:400}.planner-step output{margin-left:auto;font:16px 'Courier New',monospace;color:var(--accent);white-space:nowrap}
.planner-options select{color:var(--ink);font:13px 'Courier New',monospace;padding:14px 12px;border:1px solid #636c4b;background:#20261a;cursor:pointer;outline-offset:4px}
.planner-options select:focus-visible{outline:2px solid var(--accent);border-color:var(--accent)}.planner-options select option{background:#20261a;color:var(--ink)}
.plan-style-buttons{display:flex;gap:8px;flex-wrap:wrap}.plan-style-buttons button{font:11px 'Courier New',monospace;padding:13px 16px;border:1px solid #626b4b;color:#afb49e;transition:.25s}
.plan-style-buttons button[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}
#plan-size{accent-color:var(--accent);border:0;appearance:none;height:3px;background:#5b6545;margin:30px 0 18px;padding:0;width:100%;cursor:pointer;outline-offset:8px}
#plan-size::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border:3px solid #131610;outline:1px solid var(--accent);background:var(--accent);border-radius:50%}
#plan-size::-moz-range-thumb{width:12px;height:12px;background:var(--accent);border:2px solid #131610;outline:1px solid var(--accent);border-radius:50%}
.size-scale{display:flex;justify-content:space-between;color:var(--muted);font:8px 'Courier New',monospace}
.planner-double{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}
.planner-double label>span{font:10px 'Courier New',monospace;display:block;margin-bottom:12px;color:var(--muted)}
.plan-receipt{position:relative;background:#e5e6d6;color:var(--bg);padding:25px;margin-top:10px;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),97% 100%,94% calc(100% - 9px),91% 100%,88% calc(100% - 9px),85% 100%,82% calc(100% - 9px),79% 100%,76% calc(100% - 9px),73% 100%,70% calc(100% - 9px),67% 100%,64% calc(100% - 9px),61% 100%,58% calc(100% - 9px),55% 100%,52% calc(100% - 9px),49% 100%,46% calc(100% - 9px),43% 100%,40% calc(100% - 9px),37% 100%,34% calc(100% - 9px),31% 100%,28% calc(100% - 9px),25% 100%,22% calc(100% - 9px),19% 100%,16% calc(100% - 9px),13% 100%,10% calc(100% - 9px),7% 100%,4% calc(100% - 9px),0 100%)}
.receipt-top{font:9px 'Courier New',monospace;display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed #1115;padding-bottom:15px;gap:20px}.receipt-top>span:last-child{font-size:25px}
#plan-summary{font:13px 'Courier New',monospace;line-height:1.85;white-space:pre-line;margin:18px 0}
.receipt-note{display:block;font:9px 'Courier New',monospace;line-height:1.6;color:#60674e;margin:0 0 20px}
#apply-plan{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;background:var(--bg);color:var(--accent);padding:18px 20px;font:11px 'Courier New',monospace;margin-bottom:8px}#apply-plan b{font-size:22px;font-weight:400}#apply-plan:hover{background:#303820}#apply-plan:focus-visible{outline-color:var(--bg)}
#selected-plan{display:flex;justify-content:space-between;gap:20px;align-items:start;border:1px solid #1115;padding:18px;margin-bottom:25px;background:#11120e09}#selected-plan[hidden]{display:none}#selected-plan .eyebrow{font-size:8px;letter-spacing:.05em}#selected-plan p{white-space:pre-line;font:11px 'Courier New',monospace;line-height:1.8;margin:12px 0 0}#selected-plan button{font:9px 'Courier New',monospace;text-decoration:underline;white-space:nowrap;padding:3px 0}#selected-plan button:focus-visible{outline-color:var(--bg)}
@media(max-width:1050px){.planner-layout{gap:4vw}.planner-heading h2{font-size:5vw}.planner-heading>p{font-size:12px;max-width:250px}.planner-step h3{font-size:21px}.plan-style-buttons button{font-size:10px;padding:12px}.planner-double{gap:12px}.planner-options select{font-size:11px}.atlas-bottom{padding:15px;font-size:9px}.atlas-note{padding:0 15px 18px}.atlas-top{padding:16px}}
@media(max-width:650px){.planner-edition{display:none}.planner-heading{display:block;margin:35px 0}.planner-heading h2{font-size:8.9vw}.planner-heading>p{max-width:none;margin-top:25px;font-size:12px}.planner-layout{grid-template-columns:1fr;gap:35px}.skin-atlas{position:relative;top:0}.body-map{width:100%;max-width:340px}.atlas-note{font-size:8px}.atlas-bottom{font-size:9px}.planner-options{padding:0}.planner-step h3{font-size:23px}.planner-option{padding-bottom:25px;margin-bottom:25px}.plan-style-buttons button{font-size:11px;padding:13px 16px}.planner-options select{font-size:12px}.planner-double{gap:15px}.planner-double label>span{font-size:9px}.plan-receipt{padding:22px}.receipt-top{font-size:8px}#plan-summary{font-size:12px}#apply-plan{font-size:10px}#selected-plan{padding:14px;gap:12px}#selected-plan button{font-size:8px}.planner-section .section-label{font-size:8px}}
@media(prefers-reduced-motion:reduce){#atlas-tattoo,#atlas-target{transition:none}}
/* Guided consultation chat and native WebGL body. */
.body-map{max-width:500px;aspect-ratio:5/7;background:linear-gradient(#f1e53907 1px,transparent 1px),linear-gradient(90deg,#f1e53907 1px,transparent 1px);background-size:35px 35px}
#atlas-canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline:none}#atlas-canvas:active{cursor:grabbing}#atlas-canvas[hidden]{display:none}
.body-map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.body-map-fallback[hidden]{display:none}.body-map-fallback svg{height:85%;width:90%}.body-map-fallback span{font:10px 'Courier New',monospace;color:var(--muted);padding:15px;text-align:center}
.atlas-model-caption{position:absolute;left:22px;right:22px;bottom:20px;font:7px 'Courier New',monospace;letter-spacing:.1em;display:flex;justify-content:space-between;color:#9ca683;pointer-events:none}
.atlas-model-caption>span:last-child{font-size:16px;color:var(--accent)}
.atlas-bottom{align-items:center;text-align:center}.atlas-bottom>span{line-height:1.5}.atlas-rotate{font-size:24px;padding:0 5px;color:var(--accent)}
.tattoo-chat{border:1px solid #535e3c;background:#191e14;min-width:0}
.chat-header{display:flex;align-items:center;gap:15px;padding:20px 22px;background:#252d1c;border-bottom:1px solid #495736}
.chat-avatar{width:53px;height:53px;border:1px solid #778548;border-radius:50%;display:flex;align-items:center;background:#0c1008;padding:6px;flex-shrink:0}.chat-avatar img{width:100%;height:auto;object-fit:contain}
.chat-header h3{font-size:16px;font-weight:400}.chat-header h3>span{color:var(--accent);font-size:12px;padding-left:6px}.chat-header p{font:9px 'Courier New',monospace;color:#a5af92;margin-top:7px}.chat-private{font:7px 'Courier New',monospace;color:var(--accent);border:1px solid #84994b;padding:5px 7px;margin-left:auto;letter-spacing:.08em}
.chat-progress{height:2px;background:#3b442f}.chat-progress>span{display:block;background:var(--accent);height:100%;transition:width .35s}
.chat-history{max-height:235px;overflow:auto;padding:24px 22px 5px;scrollbar-color:#61713f transparent;scrollbar-width:thin;overscroll-behavior:contain}
.chat-bubble{font-size:12px;line-height:1.7;padding:13px 16px;max-width:88%;margin-bottom:14px}
.bot-bubble{background:#2c3523;border-radius:0 10px 10px 10px;color:#cbd4bb}
.user-bubble{background:#39462a;color:#e4e9d7;margin-left:auto;border-radius:10px 0 10px 10px;white-space:pre-line;overflow-wrap:anywhere}
.bubble-label{font:8px 'Courier New',monospace;color:#b7c591;display:block;margin-bottom:5px}
.chat-current{padding:22px}.chat-current[hidden],.chat-review[hidden]{display:none}
#chat-step{color:var(--accent);font-size:8px}#chat-question{font-size:26px;line-height:1.15;letter-spacing:-.035em;font-weight:400;margin:13px 0 14px;outline:none}#chat-help{font-size:12px;line-height:1.8;color:#a6b194;margin-bottom:22px}
.chat-zone-select{width:100%;color:var(--ink);background:#252e1d;border:1px solid #6b7b4d;font:12px 'Courier New',monospace;padding:14px 12px;cursor:pointer}.chat-zone-select option{background:#252e1d;color:var(--ink)}
.chat-position-hint{font:9px 'Courier New',monospace;line-height:1.7;color:#889777;margin-top:15px}
.chat-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.chat-choice{padding:14px 12px;text-align:left;border:1px solid #55663d;background:#252e1d;font:11px 'Courier New',monospace;line-height:1.6;color:#c3ceb0;transition:.2s}
.chat-choice[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.chat-choice:hover{border-color:var(--accent)}
.chat-text{background:#11170c;color:var(--ink);border:1px solid #6b7b4d;padding:15px;font-size:13px;line-height:1.7;border-radius:0}.chat-text::placeholder{color:#82916e}.chat-text:focus{border:1px solid var(--accent);outline:1px solid var(--accent)}
.chat-size-value{display:flex;align-items:end;justify-content:space-between;color:var(--accent)}.chat-size-value output{font-size:44px;letter-spacing:-.07em}.chat-size-value>span{font-size:8px;letter-spacing:.12em;padding-bottom:9px}
.chat-size-range{appearance:none;height:3px;background:#68784d;padding:0;border:0;accent-color:var(--accent);margin:30px 0 22px;outline-offset:8px}.chat-size-range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid #151c0e;outline:1px solid var(--accent)}.chat-size-range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid #151c0e}
#chat-error{font:10px 'Courier New',monospace;color:#f0c887;line-height:1.7;margin-top:15px;min-height:0}#chat-error:empty{margin-top:0}
.chat-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:27px;padding-top:18px;border-top:1px solid #4b5836}
#chat-back{font:10px 'Courier New',monospace;color:#b6c39d;padding:12px 0}#chat-back:disabled{opacity:.3;cursor:default}#chat-next{background:var(--accent);color:var(--bg);font:11px 'Courier New',monospace;padding:15px 22px;display:flex;gap:25px}
.chat-foot{border-top:1px solid #3e4a2e;padding:15px 22px;display:flex;align-items:start;gap:9px;color:#8a9977;font:8px 'Courier New',monospace;line-height:1.7}.privacy-dot{height:4px;width:4px;min-width:4px;border-radius:50%;background:var(--accent);margin-top:5px}
.chat-review{margin:15px 22px 25px;background:#e5e6d6;color:var(--bg);padding:22px}
#chat-message{font:11px 'Courier New',monospace;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:20px 0}
.review-destination{font:9px 'Courier New',monospace;padding:15px 0;border-top:1px dashed #1115;line-height:1.7}.review-notice{font:9px 'Courier New',monospace;line-height:1.7;color:#68734f;margin-bottom:20px}
.chat-confirm{display:flex;align-items:start;gap:10px;font:9px 'Courier New',monospace;line-height:1.7;margin-bottom:20px}.chat-confirm input{width:15px;height:15px;min-width:15px;margin:2px 0 0;padding:0;accent-color:#1c2912}
#chat-whatsapp{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#23422b;color:#e4f1d5;padding:18px;font:11px 'Courier New',monospace;cursor:pointer}#chat-whatsapp[aria-disabled=true]{opacity:.35;cursor:not-allowed}#chat-whatsapp:focus-visible{outline-color:#23422b}
.review-tools{display:flex;gap:15px;flex-wrap:wrap;margin-top:20px}.review-tools button{font:8px 'Courier New',monospace;text-decoration:underline;padding:3px 0}.review-tools button:focus-visible{outline-color:var(--bg)}#chat-status{font:9px 'Courier New',monospace;line-height:1.7;margin-top:18px;color:#596746}
.booking-chat-cta{border-top:1px solid #1116;padding-top:25px}.booking-chat-cta>.eyebrow{font-size:10px}.booking-chat-cta>h3{font-size:clamp(28px,3vw,46px);font-weight:400;letter-spacing:-.055em;line-height:1.1;margin-top:28px}.booking-chat-cta>p{font-size:14px;line-height:1.8;margin:25px 0}.booking-chat-cta>.button{background:var(--bg);color:var(--accent);padding:22px;justify-content:space-between;text-transform:uppercase;font:11px 'Courier New',monospace}.local-form-alternative{border-color:#1114;margin-top:28px}.local-form-alternative summary{padding:18px 0;gap:15px}.local-form-alternative summary>span:first-child{font:10px 'Courier New',monospace;color:var(--bg)}.local-form-alternative summary b{color:var(--bg);font-size:20px}.local-form-alternative form{padding-top:25px}
@media(max-width:1050px){.chat-header{padding:16px}.chat-header p{font-size:8px}.chat-current{padding:18px}.chat-review{margin:12px 16px 20px;padding:18px}.chat-history{padding:20px 16px 5px}.chat-choice{font-size:10px;padding:12px 10px}#chat-question{font-size:24px}.chat-private{font-size:6px}.atlas-model-caption{font-size:6px}}
@media(max-width:650px){.body-map{width:100%;max-width:360px}.planner-layout{gap:25px}.atlas-model-caption{left:15px;right:15px;bottom:18px;font-size:6px}.atlas-model-caption>span:last-child{font-size:14px}.chat-header{padding:18px}.chat-history{max-height:190px}.chat-current{padding:22px 18px}#chat-question{font-size:26px}.chat-choice{font-size:11px;padding:13px 12px}.chat-review{padding:18px;margin:15px}.chat-header p{font-size:9px}.chat-avatar{width:48px;height:48px}.chat-private{font-size:7px}#chat-message{font-size:10px}.booking-chat-cta>h3{font-size:34px}.booking-chat-cta>p{font-size:13px}.atlas-note{font-size:8px}.chat-current select,.chat-current textarea,.chat-current input[type=text]{font-size:16px}.chat-progress>span{transition:none}}
@media(prefers-reduced-motion:reduce){.chat-progress>span{transition:none}}
@media(min-width:651px){.body-map{width:min(100%,44svh);max-width:450px}}
