.interactive-tool-page{--bg:#09090f;--panel:#12121c;--panel2:#1a1a28;--cream:#f7f3ee;--rose:#3b82f6;--rose-light:#60a5fa;--gold:#c9a96e;--gold-light:#e2c99a;--muted:#9a9098;--border:#ffffff14;--border-rose:#c4897a59;--midnight:#16120f;--ink:#16120f;--line:#16120f1f;--copper:#9f684b;--sage:#607368;background:var(--bg);color:var(--cream);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.anim-up{animation:.7s both fadeUp}.anim-in{animation:.6s both fadeIn}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.55s}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--rose);align-items:center;gap:10px;font-size:11px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--rose);flex-shrink:0;width:28px;height:1px;display:block}.btn-primary{background:var(--rose);color:#fff;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;padding:14px 28px;font-size:12px;font-weight:600;transition:background .25s,transform .2s;display:inline-flex}.btn-primary:hover{background:var(--rose-light);transform:translateY(-1px)}.btn-ghost{color:var(--cream);letter-spacing:.1em;text-transform:uppercase;border:1px solid #ffffff40;align-items:center;gap:8px;padding:13px 27px;font-size:12px;font-weight:600;transition:border-color .25s,color .25s;display:inline-flex}.btn-ghost:hover{border-color:var(--rose);color:var(--rose)}.section{padding:100px 0}.section-sm{padding:60px 0}.container{max-width:1220px;margin:0 auto;padding:0 28px}.card-glass{background:var(--panel);border:1px solid var(--border);transition:border-color .25s,transform .2s}.card-glass:hover{border-color:var(--border-rose);transform:translateY(-3px)}.prose{max-width:780px}.prose h2{color:var(--cream);margin:48px 0 18px;font-size:clamp(26px,3vw,38px)}.prose h3{color:var(--cream);margin:36px 0 14px;font-size:clamp(20px,2.2vw,28px)}.prose p{color:#f7f3eebf;margin-bottom:22px;font-size:17px;line-height:1.8}.prose ul{margin-bottom:22px;padding-left:24px}.prose li{color:#f7f3eebf;margin-bottom:8px;font-size:17px;line-height:1.75}.prose strong{color:var(--cream);font-weight:600}.mobile-bar{z-index:80;background:var(--panel2);border-top:1px solid var(--border-rose);grid-template-columns:1fr 1fr;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-bar a{text-align:center;letter-spacing:.08em;text-transform:uppercase;padding:14px 8px;font-size:11px;font-weight:700}.mobile-bar a:first-child{color:var(--cream);border-right:1px solid var(--border)}.mobile-bar a:last-child{background:var(--rose);color:#fff}@media (max-width:768px){.mobile-bar{display:grid}body{padding-bottom:56px}.section{padding:72px 0}}.img-cover{object-fit:cover;object-position:center;width:100%;height:100%}.nav-link{letter-spacing:.08em;text-transform:uppercase;color:#f7f3eea6;font-size:12px;font-weight:500;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--rose);transform-origin:0;height:1px;transition:transform .25s;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.nav-link:hover{color:var(--cream)}.nav-link:hover:after{transform:scaleX(1)}.stars{color:var(--rose);letter-spacing:2px;font-size:14px}.badge{letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--border-rose);color:var(--rose);padding:4px 12px;font-size:10px;font-weight:700;display:inline-block}.demo-banner{background:var(--rose);color:#fff;text-align:center;letter-spacing:.06em;z-index:300;justify-content:center;align-items:center;gap:4px;height:36px;padding:9px 20px;font-size:12px;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}.demo-banner a{color:#fff;opacity:.85;text-decoration:underline}.banner-spacer{height:36px}.mode-tabs{border:1px solid var(--line);background:var(--cream);border-radius:6px;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px;padding:6px;display:grid}.mode-tabs button,.segmented button,.option-grid button{min-height:42px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:.76rem;font-weight:900}.mode-tabs button.active,.segmented button.active,.option-grid button.active{background:var(--midnight);color:#fff;box-shadow:0 10px 24px #16120f1f}.control-block{gap:10px;display:grid}.control-block>label{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.option-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.option-grid button{border:1px solid var(--line);color:var(--ink);text-align:center;background:#fff;min-height:46px}.option-grid button:disabled,.segmented button:disabled{opacity:.42;cursor:not-allowed}.segmented{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px;display:grid}.photo-guide{background:#d6b9871f;border:1px solid #9f684b3d;border-radius:6px;margin-top:14px;padding:14px}.photo-guide strong{color:var(--ink);display:block}.photo-guide p{color:var(--muted);margin:6px 0 0;font-size:.9rem;line-height:1.5}.orientation-controls{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.orientation-controls button,.result-actions button,.result-actions a,.download-link{border:1px solid var(--line);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;min-height:42px;padding:0 14px;font-size:.72rem;font-weight:900;display:inline-flex}.fine-print{color:var(--muted);margin:12px 0 0;font-size:.78rem;line-height:1.55}.tool-error,.tool-status{border-radius:6px;margin:14px 0 0;padding:12px 14px;font-size:.88rem;line-height:1.45}.tool-error{color:#8f2f2f;background:#a5363614;border:1px solid #a5363647}.tool-status{color:var(--sage);background:#6073681a;border:1px solid #60736847;font-weight:800}.note-field{resize:vertical;min-height:94px;line-height:1.55}.option-results{gap:20px;display:grid}.result-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.variant-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.variant-grid button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:0;transition:border-color .2s,box-shadow .2s,transform .2s;overflow:hidden}.variant-grid button.active{border-color:#9f684bc7;transform:translateY(-1px);box-shadow:0 16px 40px #16120f1f}.variant-grid img{aspect-ratio:1;object-fit:cover;width:100%}.variant-grid span{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;padding:10px;font-size:.76rem;font-weight:900;display:block}.inline-video{border:1px solid var(--line);background:#fff;border-radius:6px;align-content:start;gap:10px;padding:12px;display:grid}.inline-video video{aspect-ratio:1;object-fit:cover;background:var(--midnight);border-radius:4px;width:100%}.inline-video a{color:var(--copper);letter-spacing:.08em;text-transform:uppercase;text-align:center;font-size:.76rem;font-weight:900}.video-placeholder{text-align:center;min-height:280px;color:var(--muted);background:#d6b9871f;border-radius:4px;place-items:center;padding:18px;font-weight:850;display:grid}.compare-range{width:100%;accent-color:var(--copper)}.result-actions{flex-wrap:wrap;gap:10px;display:flex}.tool-shell{background:#191919;border-radius:8px;grid-template-columns:.86fr 1.14fr;align-items:start;gap:18px;padding:14px;display:grid;box-shadow:0 30px 90px #16120f2e}.tool-panel,.preview-panel{background:#fff;border-radius:8px;padding:22px}.preview-panel{max-height:calc(100vh - 104px);position:sticky;top:88px;overflow:auto}.tool-header h2{margin:10px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1}.tool-header p{color:var(--muted);margin:0 0 18px;line-height:1.6}.upload-box{background:var(--cream);cursor:pointer;border:1.5px dashed #16120f3d;border-radius:8px;gap:8px;margin-bottom:16px;padding:22px;display:grid;position:relative}.upload-box input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-box span{color:var(--ink);font-weight:900}.upload-box small{color:var(--muted);overflow-wrap:anywhere}.tool-shell .mode-tabs{background:0 0;border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;padding:0;display:grid}.tool-shell .mode-tabs button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;box-shadow:none;background:#fff;border-radius:8px;font-weight:900}.tool-shell .mode-tabs button.active{background:var(--midnight);color:#fff;border-color:var(--midnight)}.tool-shell .photo-guide{background:#d6b9871f;border:1px solid #9f684b38;border-radius:8px;margin:0 0 14px;padding:14px}.tool-shell .photo-guide strong{color:var(--ink);margin-bottom:6px;display:block}.tool-shell .photo-guide p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.55}.tool-shell .tool-error{color:#8b1e1e;background:#b0222214;border:1px solid #b022223d;border-radius:8px;margin:0 0 14px;padding:12px;font-size:.84rem;line-height:1.45}.tool-shell .tool-status{color:var(--sage);background:#6073681a;border:1px solid #60736833;border-radius:8px;margin:0 0 14px;padding:12px;font-size:.84rem;line-height:1.45}.tool-shell .orientation-controls{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px;display:grid}.tool-shell .orientation-controls button{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;letter-spacing:0;text-transform:none;background:#fff;border-radius:8px;font-size:.82rem;font-weight:800}.procedure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.simulator-switcher{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:16px}.simulator-switcher summary{cursor:pointer;min-height:44px;color:var(--ink);padding:12px;font-weight:900;list-style-position:inside}.simulator-switcher .procedure-grid{margin-bottom:0;padding:0 10px 10px}.procedure{text-align:left;border:1px solid var(--line);min-height:58px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;gap:2px;padding:10px;display:grid}.procedure span{font-weight:800}.procedure small{color:var(--muted);font-size:.72rem}.procedure.active{border-color:var(--copper);box-shadow:inset 4px 0 0 var(--copper)}.tool-shell .control-block{gap:9px;margin-bottom:16px;display:grid}.tool-shell .control-block label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.tool-shell .option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tool-shell .option,.tool-shell .segmented button,.tool-shell .tool-buttons button,.tool-shell .manual-actions button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;text-align:center;letter-spacing:0;text-transform:none;box-shadow:none;background:#fff;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:850}.tool-shell .option.active,.tool-shell .segmented button.active,.tool-shell .tool-buttons button.active{border-color:var(--midnight);background:var(--midnight);color:#fff}.tool-shell .segmented{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;display:grid}.tool-buttons{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.tool-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.brush-range{width:100%;accent-color:var(--midnight)}.tool-shell .note-field{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:8px;min-height:86px;padding:12px;font-size:.9rem;line-height:1.45}.tool-shell .note-field:focus{border-color:var(--midnight);outline:none}.tool-shell .note-field::placeholder{color:var(--muted)}.manual-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.manual-actions button:disabled{opacity:.45;cursor:not-allowed}.primary-action{border:1px solid var(--midnight);background:var(--midnight);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:44px;margin-bottom:10px;font-weight:800;display:inline-flex}.primary-action:disabled,.result-actions button:disabled{opacity:.45;cursor:not-allowed}.manual-editor{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:14px;overflow:hidden}.editor-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 14px;display:flex}.editor-topline strong{color:var(--ink);font-size:.92rem}.editor-topline span{color:var(--muted);text-transform:capitalize;font-size:.78rem;font-weight:800}.canvas-wrap{background-color:#f4f1ec;background-image:linear-gradient(45deg,#00000006 25%,#0000 25%),linear-gradient(-45deg,#00000006 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#00000006 75%),linear-gradient(-45deg,#0000 75%,#00000006 75%),none;background-position:0 0,0 11px,11px -11px,-11px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;place-items:center;min-height:560px;display:grid;position:relative;overflow:hidden}.canvas-wrap canvas{touch-action:none;cursor:crosshair;width:auto;max-width:100%;height:auto;max-height:72vh;display:block}.before-overlay{z-index:2;object-fit:contain;pointer-events:none;max-width:100%;max-height:72vh;position:absolute;box-shadow:0 0 0 9999px #0000001f}.brush-preview{pointer-events:none;background:#ffffff2e;border:1px solid #16120f57;border-radius:999px;position:absolute;bottom:14px;left:14px}.tool-shell .preview-stage{background:linear-gradient(135deg,#e8ded6,#cfc7bd);border:0;border-radius:8px;min-height:520px;position:relative;overflow:hidden}.tool-shell .result-stage{min-height:460px;margin-top:14px}.tool-shell .before-img,.tool-shell .after-layer img{object-fit:cover;width:100%;height:100%;transition:transform .2s;position:absolute;inset:0}.tool-shell .after-layer{opacity:0;transition:opacity .25s;position:absolute;inset:0 auto 0 0;overflow:hidden}.tool-shell .after-layer.ready{opacity:1}.tool-shell .after-layer img{filter:contrast(1.07)saturate(1.12)brightness(1.05);max-width:none}.tool-shell .slider-line{background:#fff;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #0000001f}.tool-shell .preview-labels{justify-content:space-between;display:flex;position:absolute;inset:14px 14px auto}.tool-shell .preview-labels span{color:var(--ink);letter-spacing:0;background:#ffffffd6;border:1px solid #00000014;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900}.empty-preview{min-height:520px;color:var(--muted);align-content:center;place-items:center;gap:20px;display:grid}.face-placeholder{aspect-ratio:1;background:radial-gradient(circle at 50% 34%,#e7bba9 0 18%,#0000 19%),radial-gradient(circle at 50% 70%,#bd8977 0 26%,#0000 27%),linear-gradient(135deg,#f2e4d8,#d5beb0);border-radius:50%;width:min(260px,60vw);position:relative}.face-placeholder span{border:1px solid #ffffff85;border-radius:50%;position:absolute;inset:18%}.tool-shell .compare-range{width:100%;accent-color:var(--midnight);margin:16px 0}.tool-shell .result-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tool-shell .result-actions button,.tool-shell .download-link{border:1px solid var(--line);cursor:pointer;min-height:42px;color:var(--ink);text-align:center;letter-spacing:0;text-transform:none;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:.86rem;font-weight:800;display:inline-flex}.tool-shell .download-link.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.tool-shell .option-results{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:14px;padding:0;display:block;overflow:hidden}.tool-shell .result-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 14px;display:flex}.tool-shell .result-heading strong{color:var(--ink);font-size:.92rem}.tool-shell .result-heading span{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:800}.tool-shell .primary-options{border-top:0}.tool-shell .inline-video{border:0;border-top:1px solid var(--line);border-radius:0;gap:10px;padding:14px;display:grid}.tool-shell .inline-video video{aspect-ratio:auto;object-fit:contain;background:#111;border-radius:8px;width:100%;max-height:420px}.tool-shell .inline-video a{border:1px solid var(--line);min-height:42px;color:var(--ink);text-align:center;letter-spacing:0;text-transform:none;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:.86rem;font-weight:800;display:inline-flex}.tool-shell .video-placeholder{background:var(--cream);min-height:220px;color:var(--muted);text-align:center;border-radius:8px;place-items:center;padding:22px;font-weight:800;display:grid}.replay-panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:14px;overflow:hidden}.replay-heading,.generated-result div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 14px;display:flex}.replay-heading strong,.generated-result strong{color:var(--ink);font-size:.92rem}.replay-heading span,.generated-result span{color:var(--muted);font-size:.78rem;font-weight:800}.replay-panel>img,.generated-result img{object-fit:contain;background:var(--cream);width:100%;max-height:640px;display:block}.replay-panel .compare-range{width:calc(100% - 28px);margin:14px;display:block}.replay-actions{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 14px 14px;display:grid}.replay-actions button,.video-result a{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;text-align:center;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:.86rem;font-weight:800;display:inline-flex}.replay-actions button:disabled{opacity:.45;cursor:not-allowed}.video-result{border-top:1px solid var(--line);gap:10px;padding:14px;display:grid}.video-result video{background:#111;border-radius:8px;width:100%;max-height:420px}.generated-result{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:14px;overflow:hidden}.tool-shell .variant-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid}.tool-shell .variant-grid button{border:1px solid var(--line);cursor:pointer;box-shadow:none;background:#fff;border-radius:8px;padding:0;overflow:hidden;transform:none}.tool-shell .variant-grid button.active{border-color:var(--midnight);box-shadow:0 0 0 2px var(--midnight)}.tool-shell .variant-grid img{aspect-ratio:1;object-fit:cover;width:100%;max-height:none}.tool-shell .variant-grid span{color:var(--ink);letter-spacing:0;text-transform:none;padding:8px;font-size:.76rem;font-weight:800;display:block}@media (max-width:900px){.interactive-tool-page .estimate-layout{grid-template-columns:1fr!important;gap:28px!important}.interactive-tool-page .estimate-sidebar{width:100%!important;min-width:0!important;position:static!important;top:auto!important}.interactive-tool-page [style*="grid-template-columns: 1fr 380px"]{grid-template-columns:1fr!important}.interactive-tool-page [style*="width: 380px"],.interactive-tool-page [style*=width\:380px]{width:100%!important;max-width:100%!important}.tool-shell{grid-template-columns:1fr;padding:8px}.preview-panel{max-height:none;padding:16px;position:static;overflow:visible}.tool-panel{padding:16px}.tool-shell .procedure-grid,.tool-shell .orientation-controls,.tool-shell .option-grid,.tool-shell .segmented,.tool-shell .variant-grid,.tool-shell .tool-buttons,.tool-shell .manual-actions,.tool-shell .replay-actions,.tool-shell .result-actions{grid-template-columns:1fr}.preview-stage,.canvas-wrap{min-height:360px}}:root{--copper:#3b82f6;--champagne:#3b82f6;--sage:#60a5fa;--paper:#0f0f13;--ink:#f8fafc;--midnight:#16161d;--muted:#f8fafca8;--line:#ffffff1a;--font-heading:Georgia,"Times New Roman",serif}
