/* PRÉLUDE budget jack — warm magazine styling, isolated from existing LAB */
:root{--bud-bg:#f9f5f0;--bud-ink:#302b2a;--bud-soft:#706660;--bud-rose:#805763;--bud-line:#eaded7;--bud-cream:#fffdfa;--bud-serif:'Shippori Mincho',serif;--bud-sans:'Noto Sans JP',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.budget-page{margin:0;color:var(--bud-ink);background:var(--bud-bg);font:400 15px/1.85 var(--bud-sans);-webkit-font-smoothing:antialiased}
a{color:inherit}button,input{font:inherit}button{cursor:pointer}
.budget-shell{width:min(1040px,calc(100% - 38px));margin:0 auto}
.budget-header{border-bottom:1px solid var(--bud-line);background:rgba(255,253,250,.96)}
.budget-header .budget-shell{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.budget-logo{text-decoration:none;font:600 31px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.14em}
.budget-logo small{display:block;font:600 9px/1.4 var(--bud-sans);letter-spacing:.17em;color:var(--bud-soft);margin-top:4px}
.budget-header-links{display:flex;gap:18px;font-size:12px;flex-wrap:wrap}
.budget-header-links a{color:var(--bud-soft);text-underline-offset:4px}
.budget-subnav{border-bottom:1px solid var(--bud-line);background:var(--bud-cream)}
.budget-subnav .budget-shell{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:9px 0}
.budget-subnav a{flex:0 0 auto;text-decoration:none;color:#786a68;padding:6px 12px;border:1px solid transparent;border-radius:999px;font-size:12px;white-space:nowrap}
.budget-subnav a[aria-current=page]{background:#805763;color:#fff}
.budget-subnav a:not([aria-current=page]):hover{border-color:var(--bud-line);background:#fff}
.budget-hero{position:relative;padding:58px 0 44px;overflow:hidden}
.budget-hero::after{content:'';position:absolute;z-index:-1;top:-200px;right:-110px;width:540px;height:540px;background:radial-gradient(circle,rgba(208,180,177,.35),transparent 69%);pointer-events:none}
.budget-overline{display:block;text-transform:uppercase;font:600 11px/1.6 var(--bud-sans);letter-spacing:.26em;color:var(--bud-rose)}
.budget-hero h1{font:500 clamp(32px,5.3vw,58px)/1.44 var(--bud-serif);letter-spacing:.02em;margin:15px 0 18px}
.budget-hero h1 span{color:var(--bud-rose)}
.budget-hero p{max-width:720px;margin:0;color:var(--bud-soft);font-size:15px;line-height:2}
.budget-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.budget-tags span{border:1px solid #dfc9c3;background:#fff9f6;border-radius:30px;padding:4px 12px;color:#795d62;font-size:11px}
.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:26px;align-items:start;margin-bottom:52px}
.budget-form-panel{background:var(--bud-cream);border:1px solid var(--bud-line);border-radius:13px;box-shadow:0 12px 42px rgba(72,55,46,.055);padding:32px 34px}
.budget-side{background:#3b3037;border-radius:13px;padding:29px 23px;color:#f8eee9;position:sticky;top:16px}
.budget-side small{display:block;color:#e8babf;letter-spacing:.19em;font-size:10px}
.budget-side h2{font:500 23px/1.6 var(--bud-serif);margin:10px 0 15px}
.budget-side p,.budget-side li{color:#e1d5d3;font-size:12.5px;line-height:1.9}
.budget-side ul{padding-left:17px;margin:12px 0 0}
.budget-side .fine{font-size:11px;color:#cdb9bb;margin-top:24px}
.budget-field{padding-bottom:28px;margin-bottom:26px;border-bottom:1px solid var(--bud-line)}
.budget-q{display:flex;gap:15px;align-items:baseline;margin:0 0 16px}
.budget-q>span{color:#9b6e79;font:600 19px/1 Georgia,serif;min-width:37px}
.budget-q>span i{display:block;color:#aaa09b;font:500 9px/1.5 var(--bud-sans);letter-spacing:.13em;font-style:normal;margin-top:5px}
.budget-q h2{margin:0;font:500 clamp(17px,2.6vw,21px)/1.6 var(--bud-serif)}
.budget-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.budget-options--concern{grid-template-columns:repeat(3,minmax(0,1fr))}
.budget-options--style{grid-template-columns:repeat(3,minmax(0,1fr))}
.budget-choice{border:1px solid #e3d7d1;background:#fff;color:var(--bud-ink);border-radius:7px;min-height:75px;padding:11px 6px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:.16s;text-align:center}
.budget-choice b{font-weight:500;font-size:13px}
.budget-choice small{color:#8f807c;font-size:10px;line-height:1.5}
.budget-choice:hover,.budget-choice:focus-visible{border-color:var(--bud-rose);outline-offset:2px}
.budget-choice.is-on{background:#805763;color:white;border-color:#805763;box-shadow:0 3px 12px rgba(128,87,99,.2)}
.budget-choice.is-on small{color:#f3e4e2}
.budget-check{display:flex;align-items:flex-start;gap:11px;margin-top:14px;font-size:13px;line-height:1.7;color:#504543;cursor:pointer}
.budget-check input{accent-color:var(--bud-rose);width:18px;height:18px;flex:0 0 auto;margin-top:3px}
.budget-check small{font-size:11px;color:#8c7f7c;display:block}
.budget-submit{width:100%;border:0;border-radius:6px;color:#fff;background:#805763;font-size:16px;font-weight:600;letter-spacing:.04em;padding:17px 18px;display:flex;align-items:center;justify-content:center;gap:22px;box-shadow:0 7px 19px rgba(128,87,99,.23)}
.budget-submit:hover{background:#68434d}
.budget-submit:focus-visible{outline:3px solid #ba9da4;outline-offset:3px}
.budget-form-note{margin:12px 0 0;color:#8e807b;font-size:11px;line-height:1.8}
.budget-results{margin:0 0 80px;scroll-margin-top:20px}
.budget-results[hidden]{display:none!important}
.budget-result-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;background:#efe4df;padding:28px 34px;border-radius:12px 12px 0 0}
.budget-result-eyebrow{font-size:10px;letter-spacing:.18em;color:var(--bud-rose)}
.budget-result-heading h2{font:500 clamp(24px,3.5vw,37px)/1.4 var(--bud-serif);margin:8px 0}
.budget-result-heading h2 em{font-style:normal;color:var(--bud-rose)}
.budget-result-circle{width:110px;height:110px;border:1px solid #cbaab0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.budget-result-circle span{font-size:8px;letter-spacing:.1em;color:#997983}
.budget-result-circle b{font:600 19px var(--bud-serif);white-space:nowrap;color:var(--bud-rose)}
.budget-result-guide{padding:20px 28px;margin:0;color:#625350;font-size:13px;background:#fffcfa;border:1px solid var(--bud-line)}
.budget-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:23px;background:#fffdfa;border:1px solid var(--bud-line);border-top:0}
.budget-products:has(.budget-product:only-child){grid-template-columns:1fr}
.budget-product{background:#fff;border:1px solid #eadfda;border-radius:10px;overflow:hidden;min-width:0}
.budget-product--main{border-color:#cba9b1;box-shadow:0 8px 22px rgba(100,65,78,.075)}
.budget-product-media{background:#faf7f5;text-align:center;height:240px;overflow:hidden}
.budget-product-media a{display:block;width:100%;height:100%}
.budget-product-media img{max-height:100%;height:100%;width:100%;object-fit:contain}
.budget-product-body{padding:22px 20px 18px}
.budget-product-k{font-size:10px;color:#906874;letter-spacing:.08em;font-weight:600}
.budget-product h3{font:500 16px/1.65 var(--bud-serif);margin:8px 0 12px;word-break:break-word}
.budget-product h3 span{display:block;font-weight:500;font-family:var(--bud-sans);font-size:13px;line-height:1.65}
.budget-product-desc{font-size:12.5px;line-height:1.9;color:#665956;min-height:68px}
.budget-price{margin-top:18px;background:#f8f1ee;padding:15px;border-radius:7px}
.budget-price>span{font-size:10px;color:#876b71;display:block}
.budget-price strong{display:block;font:600 27px/1.6 var(--bud-serif);color:#7d4f5a}
.budget-price small{display:block;font-size:10px;line-height:1.7;color:#766763}
.budget-caveat{font-size:11px;color:#85665c;line-height:1.8;margin:11px 0}
.budget-product-checks{border-top:1px solid var(--bud-line);padding-top:10px;margin-top:10px;font-size:11.5px;color:#675a56}
.budget-product-checks summary{cursor:pointer;font-weight:600}
.budget-product-checks ul{padding-left:18px}
.budget-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:19px}
.budget-btn{border-radius:5px;text-decoration:none;text-align:center;padding:11px 4px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}
.budget-btn--outline{border:1px solid #caaeb4;color:#785763;background:#fff}
.budget-btn--buy{background:#78515b;color:#fff}
.budget-btn:focus-visible,.budget-list-add:focus-visible{outline:3px solid #c399a7;outline-offset:2px}
.budget-btn--buy:hover{background:#5c3943}
.budget-list-add{border:0;background:none;color:#795d67;padding:12px 0 2px;width:100%;text-align:center;text-decoration:underline;text-underline-offset:3px;font-size:11.5px}
.budget-no-buy{background:#fffdfa;border:1px solid var(--bud-line);border-top:0;padding:30px}
.budget-no-buy h3{font:500 24px var(--bud-serif);margin:0 0 12px}
.budget-no-buy p{color:#665956;line-height:1.85}
.budget-no-buy a{display:inline-block;margin-top:6px;color:#79515c;font-weight:600}
.budget-disclaimer{font-size:11px;color:#766965;line-height:1.85;margin:0;padding:22px 26px;background:#f5eeea}
.budget-result-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 24px;border:1px solid var(--bud-line);border-top:0;background:white;border-radius:0 0 12px 12px}
.budget-retry{border:1px solid #c8a4ae;background:white;border-radius:4px;padding:11px 16px;color:#79515b;font-weight:600;font-size:12px}
.budget-text-link{font-size:12px;color:#805763;text-underline-offset:3px}
.budget-outro{padding:20px 0 50px}
.budget-outro h2{font:500 24px/1.7 var(--bud-serif);margin-bottom:12px}
.budget-outro-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.budget-outro-links a{padding:18px;border:1px solid var(--bud-line);background:white;border-radius:6px;text-decoration:none;display:block;color:#805763;font-size:13px}
.budget-footer{border-top:1px solid var(--bud-line);background:#f2eae5;padding:25px 0;color:#756763;font-size:11px}
.budget-footer p{max-width:800px;line-height:1.9}
.budget-footer-links{display:flex;flex-wrap:wrap;gap:17px;margin-bottom:10px}
@media(max-width:860px){.budget-layout{grid-template-columns:1fr}.budget-side{position:static}.budget-products{grid-template-columns:1fr 1fr}.budget-product-media{height:190px}}
@media(max-width:610px){.budget-shell{width:min(100% - 26px,600px)}.budget-hero{padding:35px 0 30px}.budget-hero h1{font-size:33px}.budget-hero p{font-size:13px}.budget-form-panel{padding:24px 17px}.budget-options{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-options--concern{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-options--style{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.budget-options--style .budget-choice{padding:9px 3px;min-height:77px}.budget-options--style .budget-choice b{font-size:11px}.budget-options--style .budget-choice small{font-size:9px}.budget-q{gap:10px}.budget-q h2{font-size:18px}.budget-choice{min-height:70px}.budget-products{grid-template-columns:1fr;padding:13px}.budget-products:has(.budget-product:only-child){grid-template-columns:1fr}.budget-product-media{height:230px}.budget-product-desc{min-height:0}.budget-result-heading{padding:21px}.budget-result-circle{width:84px;height:84px}.budget-result-circle b{font-size:15px}.budget-result-guide{padding:17px}.budget-outro-links{grid-template-columns:1fr}.budget-header-links{gap:10px}.budget-header-links a{font-size:11px}.budget-logo{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.budget-choice{transition:none}}
