:root{--tool-border:#d7d0c5;--tool-paper:#fbf9f4;--tool-gold:#D2B5AE;--tool-ink:#0b0d12}
.tools-page{background:#ece7dd}
.tools-page .tools-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(650px,78vh,780px);padding-bottom:clamp(92px,10vw,145px);background:radial-gradient(circle at 76% 32%,rgba(111,73,255,.28),transparent 25%),radial-gradient(circle at 90% 75%,rgba(210,181,174,.22),transparent 28%),linear-gradient(135deg,#080a0f 0%,#10131c 58%,#17111d 100%)}
.tools-page .tools-hero:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 5%,#000 48%,#000)}
.tools-page .tools-hero:after{content:"";position:absolute;z-index:-1;width:min(42vw,620px);aspect-ratio:1;right:-8vw;bottom:-45%;border:1px solid rgba(210,181,174,.24);border-radius:50%;box-shadow:0 0 0 80px rgba(210,181,174,.025),0 0 0 160px rgba(111,73,255,.025)}
.tools-hero h1{max-width:940px;font-size:clamp(52px,7.2vw,104px);line-height:.9}
.tools-hero .pillar-lead{max-width:700px;font-size:clamp(16px,1.4vw,19px)}
.tools-hero-counter{position:absolute;right:clamp(28px,8vw,128px);bottom:clamp(78px,9vw,125px);display:flex;align-items:flex-end;gap:18px;color:#fff}
.tools-hero-counter strong{color:rgba(210,181,174,.84);font-family:var(--serif);font-size:clamp(74px,10vw,150px);font-weight:500;line-height:.7;letter-spacing:-.08em}
.tools-hero-counter span{max-width:180px;padding-bottom:2px;color:rgba(255,255,255,.56);font-size:10px;font-weight:600;line-height:1.55;letter-spacing:.13em;text-transform:uppercase}
.tools-directory{padding:clamp(82px,9vw,135px) clamp(22px,6vw,100px);background:linear-gradient(180deg,#ece7dd,#f5f1e9 58%,#ece7dd)}
.tools-directory-head{display:grid;grid-template-columns:minmax(160px,.42fr) minmax(0,1.58fr);gap:40px 90px;align-items:start;max-width:1320px;margin:0 auto 64px}
.tools-directory-head .section-label{color:#806334}
.tools-directory-head h2{max-width:850px;margin:0;font-family:var(--serif);font-size:clamp(40px,5.2vw,72px);font-weight:500;line-height:.96;letter-spacing:-.045em}
.tools-card-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.tools-card{position:relative;isolation:isolate;overflow:hidden;grid-column:span 6;min-height:610px;padding:30px;display:grid;grid-template-rows:auto minmax(205px,1fr) auto;color:#fff;border:1px solid rgba(255,255,255,.13);text-decoration:none;box-shadow:0 22px 55px rgba(18,15,13,.08);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .35s ease}
.tools-card:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(5,7,10,.14) 55%,rgba(5,7,10,.66));pointer-events:none}
.tools-card:hover{transform:translateY(-7px);border-color:rgba(210,181,174,.62);box-shadow:0 34px 75px rgba(18,15,13,.18)}
.tools-card--timeline,.tools-card--songs{grid-column:span 7}
.tools-card--music,.tools-card--lighting{grid-column:span 5}
.tools-card--timeline{background:radial-gradient(circle at 86% 15%,rgba(210,181,174,.26),transparent 28%),linear-gradient(145deg,#111725,#080a0f 76%)}
.tools-card--music{background:radial-gradient(circle at 52% 40%,rgba(230,184,255,.22),transparent 30%),linear-gradient(145deg,#32205c,#11101d 78%)}
.tools-card--lighting{background:radial-gradient(circle at 22% 10%,rgba(230,154,183,.23),transparent 27%),linear-gradient(145deg,#211626,#0c0c13 78%)}
.tools-card--songs{background:radial-gradient(circle at 85% 18%,rgba(255,202,111,.2),transparent 28%),linear-gradient(145deg,#17222b,#090b10 78%)}
.tools-card-top{position:relative;z-index:3;display:flex;justify-content:space-between;gap:20px;color:rgba(229,199,145,.88);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.tools-card-visual{position:relative;z-index:1;align-self:stretch;min-height:205px;margin:18px -4px 24px}
.tools-card-copy{position:relative;z-index:3;align-self:end}
.tools-card h2{max-width:570px;margin:0 0 16px;font-family:var(--serif);font-size:clamp(34px,3.6vw,54px);font-weight:500;line-height:.94;letter-spacing:-.04em}
.tools-card p{max-width:610px;margin:0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.7}
.tools-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
.tools-card-tags span{padding:7px 10px;color:rgba(255,255,255,.7);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);border-radius:99px}
.tools-card-cta{margin-top:27px;padding-top:19px;display:flex;align-items:center;justify-content:space-between;color:#e2bf80;font-size:12px;font-weight:600;border-top:1px solid rgba(255,255,255,.16)}
.tools-card-cta b{font-size:19px;font-weight:400;transition:transform .35s ease}
.tools-card:hover .tools-card-cta b{transform:translate(4px,-4px)}
.tools-visual-timeline{padding:17px 0;display:grid;align-content:center;gap:17px}
.tools-visual-timeline div{display:grid;grid-template-columns:48px minmax(90px,1fr) 82px;gap:12px;align-items:center;color:rgba(255,255,255,.5);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.tools-visual-timeline i{position:relative;width:var(--w);height:2px;background:linear-gradient(90deg,#D2B5AE,#F5E5E1);box-shadow:0 0 15px rgba(210,181,174,.36);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.tools-visual-timeline i:after{content:"";position:absolute;right:-3px;top:-2px;width:6px;height:6px;background:#f4dfb6;border-radius:50%}
.tools-visual-timeline b{font-weight:500;color:rgba(255,255,255,.66)}
.tools-card--timeline:hover .tools-visual-timeline i{width:min(100%,calc(var(--w) + 8%))}
.tools-visual-music{display:grid;place-items:center}
.music-orbit{position:relative;width:178px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:inset 0 0 45px rgba(111,73,255,.18),0 0 55px rgba(111,73,255,.16);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.music-orbit:before,.music-orbit:after,.music-orbit i{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}
.music-orbit:before{inset:22px}.music-orbit:after{inset:47px;background:rgba(255,255,255,.04)}
.music-orbit i{width:10px;height:10px;background:#d2b06f;border:0;box-shadow:0 0 16px rgba(210,176,111,.7)}
.music-orbit i:nth-child(1){left:16px;top:54px}.music-orbit i:nth-child(2){right:26px;top:24px}.music-orbit i:nth-child(3){right:12px;bottom:49px}
.music-orbit strong{position:relative;z-index:2;color:#f6e7c7;font-family:var(--serif);font-size:23px;font-weight:500}
.tools-card--music:hover .music-orbit{transform:rotate(8deg) scale(1.04)}
.music-chip{position:absolute;padding:7px 10px;background:rgba(10,9,17,.74);color:rgba(255,255,255,.74);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}
.chip-a{left:5%;top:18%}.chip-b{right:1%;top:43%}.chip-c{left:9%;bottom:10%}
.tools-visual-lighting{overflow:hidden;background:linear-gradient(180deg,rgba(20,16,31,.42),rgba(7,8,12,.12));border:1px solid rgba(255,255,255,.08)}
.preview-beam{position:absolute;top:-8%;width:45%;height:105%;opacity:.5;filter:blur(5px);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%)}
.beam-a{left:-3%;background:linear-gradient(#7e59ff,transparent)}.beam-b{right:-3%;background:linear-gradient(#e19aac,transparent)}
.preview-floor{position:absolute;left:5%;right:5%;bottom:-15%;height:44%;transform:perspective(220px) rotateX(55deg);background:repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 1px,transparent 1px 42px),linear-gradient(135deg,#6f49ff,#d9a4bd);opacity:.5}
.preview-couple{position:absolute;z-index:2;left:50%;bottom:15%;width:52px;height:100px;transform:translateX(-50%)}
.preview-couple:before,.preview-couple:after{content:"";position:absolute;bottom:0;width:29px;height:78px;background:#08090d;border-radius:44% 44% 8% 8%}.preview-couple:before{left:1px;transform:rotate(5deg)}.preview-couple:after{right:1px;transform:rotate(-5deg)}
.preview-couple i,.preview-couple b{position:absolute;z-index:2;top:0;width:23px;height:23px;background:#0b0c11;border-radius:50%}.preview-couple i{left:4px}.preview-couple b{right:4px}
.tools-card--lighting:hover .preview-beam{opacity:.72}
.tools-visual-songs{display:flex;align-items:center;justify-content:center;gap:40px}
.preview-record{position:relative;width:165px;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#0b0c10 0 4px,#242933 5px 6px,#0b0c10 7px 12px);box-shadow:0 24px 45px rgba(0,0,0,.32);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.preview-record:before{content:"";position:absolute;inset:36%;background:#D2B5AE;border-radius:50%;box-shadow:inset 0 0 0 7px #E2CBC5}.preview-record i{position:absolute;inset:48%;background:#11151a;border-radius:50%}
.tools-card--songs:hover .preview-record{transform:rotate(24deg)}
.preview-wave{height:78px;display:flex;align-items:center;gap:5px}
.preview-wave i{width:3px;height:var(--h,35%);background:linear-gradient(#f1d39a,#8260ff);border-radius:4px}.preview-wave i:nth-child(1){--h:24%}.preview-wave i:nth-child(2){--h:52%}.preview-wave i:nth-child(3){--h:88%}.preview-wave i:nth-child(4){--h:43%}.preview-wave i:nth-child(5){--h:68%}.preview-wave i:nth-child(6){--h:100%}.preview-wave i:nth-child(7){--h:58%}.preview-wave i:nth-child(8){--h:32%}.preview-wave i:nth-child(9){--h:76%}
.tools-visual-songs>span{position:absolute;right:10%;bottom:16%;color:rgba(255,255,255,.42);font-size:9px;letter-spacing:.12em}
.tool-shell{padding:clamp(70px,8vw,115px) clamp(20px,6vw,92px);background:#eee9e0}
.tool-layout{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:22px;align-items:start}
.tool-panel,.tool-result{background:var(--tool-paper);border:1px solid var(--tool-border)}
.tool-panel{padding:clamp(28px,4vw,52px)}
.tool-result{position:sticky;top:26px;min-height:560px;padding:clamp(28px,4vw,52px);background:#11141b;color:#fff;border-color:#11141b}
.tool-panel-head{margin-bottom:38px;padding-bottom:27px;border-bottom:1px solid var(--tool-border)}
.tool-step{margin:0 0 11px;color:#876b3d;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.tool-panel h2,.tool-result h2{margin:0;font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.03;letter-spacing:-.035em}
.tool-panel-head p,.tool-result-intro{margin:18px 0 0;color:#625d55;font-size:14px;line-height:1.7}
.tool-result-intro{color:#bdb9b2}
.tool-form{display:grid;gap:25px}
.tool-field{display:grid;gap:9px}
.tool-field>span,.tool-field legend{color:#38342e;font-size:12px;font-weight:600}
.tool-field small{color:#7a746c;font-size:11px;line-height:1.5}
.tool-field input[type="time"],.tool-field input[type="text"],.tool-field select,.tool-field textarea{width:100%;padding:14px 15px;background:#fff;color:#191b20;font:inherit;font-size:14px;border:1px solid #cbc4b9;border-radius:0;outline:none}
.tool-field textarea{min-height:92px;resize:vertical}
.tool-field input:focus,.tool-field select:focus,.tool-field textarea:focus{border-color:#8A625D;box-shadow:0 0 0 2px rgba(210,181,174,.18)}
.tool-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tool-options{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.tool-option{position:relative}
.tool-option input{position:absolute;opacity:0;pointer-events:none}
.tool-option span{min-height:49px;padding:13px 14px;display:flex;align-items:center;background:#fff;color:#4f4a43;font-size:12px;line-height:1.4;border:1px solid #d1c9bd;cursor:pointer;transition:.2s}
.tool-option input:checked+span{background:#191c24;color:#fff;border-color:#191c24}
.tool-option input:focus-visible+span{outline:2px solid #997b49;outline-offset:2px}
.tool-range{display:grid;grid-template-columns:1fr 54px;gap:14px;align-items:center}
.tool-range input{width:100%;accent-color:#9e7c43}
.range-value{padding:8px 6px;text-align:center;background:#ece6dc;color:#6d552d;font-size:12px;font-weight:600}
.tool-button{width:100%;padding:17px 20px;background:var(--tool-gold);color:#111318;font:inherit;font-size:13px;font-weight:700;border:0;cursor:pointer;transition:background .2s ease}
.tool-button:hover{background:#d8bb84}
.tool-button-secondary{display:inline-flex;margin-top:24px;padding:13px 17px;color:#fff;font-size:12px;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,.3)}
.tool-button-secondary:hover{border-color:var(--tool-gold);color:var(--tool-gold)}
.tool-empty{min-height:430px;display:flex;flex-direction:column;justify-content:center}
.tool-empty-number{margin-bottom:35px;color:rgba(210,181,174,.32);font-family:var(--serif);font-size:100px;line-height:.75}
.tool-output[hidden],.tool-empty[hidden]{display:none}
.result-eyebrow{margin:0 0 12px;color:var(--tool-gold);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.result-summary{margin:20px 0 30px;color:#c6c2bb;font-size:15px;line-height:1.75}
.result-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.result-list li{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.result-list time,.result-list>li>span{color:var(--tool-gold);font-size:11px;font-weight:600;padding-top:3px}
.result-list strong{display:block;margin-bottom:5px;font-family:var(--serif);font-size:21px;font-weight:500}
.result-list p{margin:0;color:#aaa7a1;font-size:12px;line-height:1.6}
.result-note{margin-top:25px;padding:20px;border-left:2px solid var(--tool-gold);background:rgba(255,255,255,.045);color:#c5c1ba;font-size:13px;line-height:1.7}
.result-note strong{color:#fff}
.tool-explanation{padding:clamp(75px,9vw,125px) clamp(24px,8vw,128px);background:#f7f4ee}
.tool-explanation-grid{display:grid;grid-template-columns:minmax(180px,.52fr) minmax(0,1.48fr);gap:clamp(40px,8vw,125px)}
.tool-explanation-copy h2{max-width:780px;margin:0 0 28px;font-family:var(--serif);font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1;letter-spacing:-.04em}
.tool-explanation-copy>p{max-width:760px;color:#5b5650;font-size:16px;line-height:1.78}
.tool-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:46px;background:#d6cec2;border:1px solid #d6cec2}
.tool-tips article{padding:27px;background:#fff}
.tool-tips span{color:#855E59;font-size:10px}
.tool-tips h3{margin:38px 0 12px;font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.1}
.tool-tips p{margin:0;color:#625d56;font-size:13px;line-height:1.65}
.music-profile{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:28px;background:rgba(255,255,255,.14)}
.music-profile div{padding:20px;background:#161922}
.music-profile span{display:block;margin-bottom:7px;color:#8f8b84;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.music-profile strong{font-family:var(--serif);font-size:22px;font-weight:500}
.song-results{display:grid;gap:10px;margin-top:28px}
.song-card{padding:17px 18px;background:#181b23;border-left:2px solid rgba(210,181,174,.65)}
.song-card strong{display:block;font-family:var(--serif);font-size:20px;font-weight:500}
.song-card span{display:block;margin-top:6px;color:#aaa7a1;font-size:11px}
.song-empty{margin-top:25px;color:#bdb9b2;font-size:14px;line-height:1.7}
.lighting-stage{--scene-a:#6f49ff;--scene-b:#d9a4bd;--scene-glow:.72;position:relative;isolation:isolate;overflow:hidden;min-height:350px;margin:31px 0 26px;background:linear-gradient(180deg,#111724 0%,#202433 58%,#14161d 100%);border:1px solid rgba(255,255,255,.14)}
.lighting-stage:before{content:"";position:absolute;z-index:-1;inset:-15%;background:radial-gradient(circle at 27% 30%,color-mix(in srgb,var(--scene-a) calc(var(--scene-glow)*100%),transparent),transparent 34%),radial-gradient(circle at 77% 28%,color-mix(in srgb,var(--scene-b) calc(var(--scene-glow)*100%),transparent),transparent 38%);filter:blur(9px)}
.scene-ceiling{position:absolute;left:0;right:0;top:0;height:27%;background:linear-gradient(165deg,rgba(255,255,255,.08),transparent 52%);border-bottom:1px solid rgba(255,255,255,.12)}
.scene-beam{position:absolute;top:15%;width:34%;height:60%;opacity:var(--scene-glow);filter:blur(6px);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%)}
.scene-beam.one{left:4%;background:linear-gradient(var(--scene-a),transparent)}
.scene-beam.two{right:4%;background:linear-gradient(var(--scene-b),transparent)}
.scene-floor{position:absolute;left:7%;right:7%;bottom:0;height:37%;transform:perspective(250px) rotateX(52deg);transform-origin:bottom;background:repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 1px,transparent 1px 52px),repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 45px),linear-gradient(135deg,var(--scene-a),var(--scene-b));opacity:.54}
.scene-couple{position:absolute;left:50%;bottom:23%;width:64px;height:130px;transform:translateX(-50%)}
.scene-couple:before,.scene-couple:after{content:"";position:absolute;bottom:0;width:35px;height:108px;background:#07080b;border-radius:45% 45% 8% 8%}
.scene-couple:before{left:2px;transform:rotate(5deg)}.scene-couple:after{right:2px;transform:rotate(-5deg)}
.scene-couple i,.scene-couple b{position:absolute;z-index:2;top:0;width:28px;height:28px;background:#121319;border-radius:50%}
.scene-couple i{left:6px}.scene-couple b{right:6px}
.lighting-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.13)}
.lighting-readout div{padding:16px;background:#161922}
.lighting-readout span{display:block;margin-bottom:6px;color:#8f8b84;font-size:9px;text-transform:uppercase}
.lighting-readout strong{font-size:12px;font-weight:600}
@media(max-width:1120px){.tools-card--timeline,.tools-card--songs,.tools-card--music,.tools-card--lighting{grid-column:span 6}.tools-visual-songs{gap:22px}.preview-record{width:140px}}
@media(max-width:1050px){.tool-layout{grid-template-columns:1fr}.tool-result{position:static;min-height:0}.tool-empty{min-height:330px}.tools-directory-head,.tool-explanation-grid{grid-template-columns:1fr;gap:22px}.tools-hero-counter{position:relative;right:auto;bottom:auto;margin-top:58px}.tools-page .tools-hero{min-height:0}}
@media(max-width:700px){.tools-card-grid,.tool-row,.tool-options,.tool-tips{grid-template-columns:1fr}.tools-card,.tools-card--timeline,.tools-card--songs,.tools-card--music,.tools-card--lighting{grid-column:1;min-height:535px;padding:25px}.tools-card-visual{min-height:175px;margin-bottom:20px}.tools-card h2{font-size:clamp(32px,10vw,44px)}.tools-directory{padding-inline:14px}.tools-hero-counter{margin-top:44px}.tools-hero-counter strong{font-size:78px}.tools-hero-counter span{font-size:9px}.tools-visual-timeline div{grid-template-columns:42px minmax(70px,1fr) 70px}.tools-visual-songs{gap:18px}.preview-record{width:128px}.tool-shell{padding-inline:14px}.tool-panel,.tool-result{padding:27px 22px}.result-list li{grid-template-columns:58px 1fr}.music-profile,.lighting-readout{grid-template-columns:1fr}.lighting-stage{min-height:300px}.tool-explanation{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.tools-card,.tools-card-cta b,.tools-visual-timeline i,.music-orbit,.preview-record{transition:none}}
