@font-face{font-family:Bricolage;src:url('/fonts/BricolageGrotesque-variable.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--cream:#f7f0df;--paper:#fffdf7;--ink:#161616;--blue:#1647c9;--pink:#f27ba8;--yellow:#f8be18;--green:#0e5a3c;--orange:#f04419;--line:#d3caba;--muted:#625d53;--display:Bricolage,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.5}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:760;letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(3rem,5.6vw,5.7rem)}h2{font-size:clamp(2rem,3.2vw,3rem)}h3{font-size:1.5rem}em{font-style:normal;color:var(--blue)}.prototype{font-size:10px;font-weight:700;letter-spacing:.1em;background:var(--ink);color:var(--cream);padding:9px 24px;display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.prototype a{font-size:11px;letter-spacing:0}.mast{max-width:1360px;margin:auto;min-height:104px;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.mast img{width:160px;display:block}.mast nav{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;font-weight:650}.mast nav a{text-decoration:none;padding:8px 0}.mast nav [aria-current]{border-bottom:3px solid var(--pink)}main{max-width:1280px;margin:0 auto;padding:36px 40px 80px;min-height:75vh}.eyebrow,.number{font-size:11px;letter-spacing:.11em;font-weight:750;text-transform:uppercase}.lede{font-size:1.15rem;max-width:590px;color:var(--muted);line-height:1.7}.btn{border:2px solid var(--ink);padding:14px 24px;background:var(--ink);color:var(--paper);font-weight:750;min-height:50px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:4px 4px 0 var(--pink)}.btn.light{background:var(--paper);color:var(--ink);box-shadow:none}.btn.yellow{background:var(--yellow);color:var(--ink)}.text-btn{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:12px 0;min-height:44px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px}.sample-strip{background:#ebe5d6;padding:12px 18px;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 28px}.sample-strip button{font-weight:650;border:0;background:none;text-decoration:underline;min-height:32px}.skip{position:absolute;left:20px;top:-100px;background:var(--paper);z-index:20;padding:14px}.skip:focus{top:20px}.studio-preview-footer{border-top:1px solid var(--line);max-width:1200px;padding:24px 0;margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.hub-intro{padding:32px 0 35px}.hub-intro h1{font-size:clamp(3.8rem,6.6vw,6rem);margin-bottom:24px}.hub-intro>p:last-child{font-size:1.15rem;color:var(--muted)}.directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.direction{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;padding:30px;border:2px solid var(--ink);min-height:480px;position:relative;transition:transform .2s}.direction:hover{transform:translateY(-6px)}.direction img{width:90px;height:90px;margin:35px 0 22px}.direction h2{font-size:2.9rem}.direction p{max-width:300px;margin-bottom:30px}.direction b{margin-top:auto;border-top:1px solid currentColor;padding-top:16px;width:100%}.rhythm-card{background:var(--pink)}.studio-card{background:var(--blue);color:var(--paper)}.date-card{background:var(--green);color:var(--paper)}.hub-note{font-size:12px;margin:28px 0;color:var(--muted)}.rhythm-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start;padding-top:30px}.rhythm-intro{position:sticky;top:35px}.step-line{display:flex;align-items:center;gap:8px;margin-bottom:35px;font-size:12px;color:var(--muted)}.step-dot{width:32px;height:4px;background:#c8c0b0}.step-dot.active{background:var(--blue)}.rhythm-art{display:flex;align-items:center;gap:20px;padding:24px 0;margin-top:20px}.rhythm-art img{width:100px;transform:rotate(-6deg)}.handnote{max-width:180px;font-family:var(--display);font-size:1.3rem;line-height:1.15}.choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice{background:var(--paper);border:2px solid var(--ink);padding:22px;text-align:left;min-height:185px;position:relative;transition:transform .15s}.choice:hover{transform:translateY(-3px)}.choice[aria-pressed=true]{background:var(--yellow);box-shadow:5px 5px 0 var(--ink)}.choice .tick{position:absolute;top:15px;right:15px;font-size:15px;width:23px;height:23px;border:1px solid var(--ink);border-radius:50%;text-align:center;background:var(--paper)}.choice img{width:55px;height:55px;object-fit:contain;margin-bottom:15px}.choice strong{display:block;font-family:var(--display);font-size:1.4rem;line-height:1.05;margin-bottom:8px}.choice small{display:block;line-height:1.4;color:#49463e}.paper{background:var(--paper);border:1.5px solid var(--ink);padding:30px}.field{display:block;margin:0 0 19px;min-width:0}.field>span{font-size:13px;font-weight:700;display:block;margin-bottom:7px}.moneybox{display:flex;border-bottom:2px solid var(--ink);align-items:center;gap:10px}.moneybox>span{color:var(--muted)}.moneybox input{min-width:0;width:100%;padding:10px 0;border:0;background:transparent;font-size:1.3rem;font-variant-numeric:tabular-nums}.moneybox input:focus{outline-offset:2px}.group-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-weight:750;font-size:13px}.budget-row{display:grid;grid-template-columns:minmax(0,1fr) 115px auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.budget-row .name-input{width:100%;min-width:0;border:0;background:transparent;padding:8px 0;font-size:14px}.budget-row .moneybox input{font-size:1rem}.remove{border:0;background:none;font-size:20px;min-width:36px;min-height:44px}.editor h3{margin-top:25px}.row-note{font-size:12px;color:var(--muted);margin:12px 0}.custom-add{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;margin-top:24px}.custom-add input,.custom-add select{width:100%;min-width:0;border:1px solid var(--ink);background:var(--paper);padding:10px;font-size:13px}.custom-add button{border:1px solid var(--ink);background:var(--yellow);min-width:45px;min-height:44px}.result-title{font-size:clamp(2.3rem,4.5vw,4.2rem);max-width:800px;margin:25px 0}.result-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}.receipt{background:var(--paper);padding:30px;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--pink)}.receipt h2{font-size:1.9rem}.receipt .sum{font-size:clamp(2.8rem,4vw,4rem);font-weight:750;letter-spacing:-.06em;line-height:1.1;font-variant-numeric:tabular-nums;margin:16px 0}.receipt dl>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}dd{margin:0;font-weight:700;white-space:nowrap}dt{font-size:14px}.breakdown{height:24px;width:100%;display:flex;gap:3px;margin:24px 0 10px;overflow:hidden}.breakdown span:nth-child(1){background:var(--green)}.breakdown span:nth-child(2){background:var(--pink)}.breakdown span:nth-child(3){background:var(--blue)}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}.legend span:before{content:'■';margin-right:5px}.legend span:nth-child(1):before{color:var(--green)}.legend span:nth-child(2):before{color:#ae3565}.legend span:nth-child(3):before{color:var(--blue)}.trust-note{font-size:12px;color:var(--muted);line-height:1.65;margin-top:24px}.warning{padding:15px;background:var(--yellow);border-left:4px solid var(--ink);font-size:13px;margin-top:20px}.error{color:#982916;font-size:13px;min-height:20px}.studio-hero{background:var(--blue);color:var(--paper);padding:32px;margin-bottom:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.studio-hero h1{font-size:clamp(3rem,5.4vw,5rem);margin:10px 0 0}.studio-hero>p{max-width:280px;font-size:14px;margin:0}.studio-layout{display:grid;grid-template-columns:225px minmax(0,1fr) 300px;gap:28px;align-items:start}.shelf h2{font-family:inherit;font-size:14px;letter-spacing:0;margin:0 0 14px}.shelf button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 10px;margin:0 0 9px;background:var(--paper);border:1px solid var(--line);text-align:left;min-height:65px;font-weight:650;font-size:13px}.shelf img{width:35px;height:35px}.shelf .plus{margin-left:auto;font-size:22px}.studio-layout .receipt{padding:23px;position:sticky;top:24px;box-shadow:5px 5px 0 var(--yellow)}.studio-layout .receipt .sum{font-size:2.7rem}.canvas-title{display:flex;justify-content:space-between;gap:15px}.canvas-title h2{font-size:1.8rem}.undo{border:0;background:none;text-decoration:underline;font-size:12px;min-height:32px}.studio-income{margin-bottom:24px}.date-page{background:var(--green)}.date-page .mast,.date-page .studio-preview-footer{color:var(--paper)}.date-page .mast img{background:var(--cream);padding:8px;width:176px}.date-page main{padding-top:28px}.date-top{text-align:center;color:var(--paper);max-width:700px;margin:0 auto 35px}.date-top h1{font-size:clamp(3.2rem,5.7vw,5rem);margin:12px 0 20px}.date-top p{color:#e2e8d8}.date-top img{width:88px}.tablecloth{background:var(--cream);padding:35px;border:2px solid var(--ink);max-width:1000px;margin:auto;box-shadow:10px 10px 0 #073e29}.date-turn{display:flex;justify-content:space-between;font-size:12px;margin-bottom:24px}.date-question{font-size:2.2rem;max-width:600px}.date-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.date-choices .choice{min-height:155px;padding:18px}.date-choices .choice strong{font-size:1.2rem}.date-choices .choice img{width:40px;height:40px}.name-prompt{max-width:300px}.name-prompt input{background:transparent;border:0;border-bottom:2px solid var(--ink);width:100%;padding:8px 0;font-family:var(--display);font-size:2rem}.conversation{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:25px 0}.person-note{padding:22px;background:var(--pink);border:1px solid var(--ink);transform:rotate(-1deg)}.person-note:nth-child(2){background:var(--yellow);transform:rotate(1deg)}.person-note h3{margin-bottom:15px}.person-note p{margin:0;font-size:15px}.shared-note{border-top:1px solid var(--ink);padding-top:20px;font-size:15px}.date-edit{color:var(--ink)}.date-edit .result-layout{gap:28px}.date-edit .result-title{font-size:2.3rem}.pin{border:1px solid var(--line);padding:5px 8px;background:transparent;font-size:11px}.pin[aria-pressed=true]{background:var(--yellow);border-color:var(--ink)}.date-edit .budget-row{grid-template-columns:minmax(0,1fr) 95px auto}.small{font-size:12px;color:var(--muted)}[hidden]{display:none!important}.no-js{padding:30px}.pill-list{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pill{background:var(--pink);border:1px solid var(--ink);padding:6px 12px;font-size:12px}.empty{padding:30px 0;color:var(--muted)}
@media(max-width:1100px){.studio-layout{grid-template-columns:180px minmax(0,1fr)}.studio-layout .receipt{grid-column:2;position:static}.rhythm-layout{gap:35px}.mast{padding-inline:25px}main{padding-inline:25px}.directions{gap:16px}.direction{padding:24px}.direction h2{font-size:2.4rem}}
@media(max-width:760px){h1{font-size:3.2rem}.mast{padding:20px;min-height:90px;align-items:flex-start;flex-wrap:wrap}.mast img{width:135px}.mast nav{gap:18px;font-size:12px}.prototype{padding:8px 16px;gap:8px;font-size:9px}main{padding:20px 20px 50px}.rhythm-layout,.result-layout{grid-template-columns:1fr;gap:28px}.rhythm-intro{position:static}.rhythm-art{display:none}.step-line{margin-bottom:20px}.rhythm-layout{padding-top:0}.choices{gap:12px}.choice{padding:17px;min-height:170px}.choice strong{font-size:1.3rem}.directions{grid-template-columns:1fr}.direction{min-height:330px}.direction img{margin:20px 0;width:65px;height:65px}.direction h2{font-size:2.8rem}.hub-intro{padding:15px 0 25px}.hub-intro h1{font-size:3.8rem}.studio-hero{padding:24px;display:block}.studio-hero>p{margin-top:22px;max-width:400px}.studio-layout{display:flex;flex-direction:column;gap:22px}.shelf{width:100%}.shelf>div{display:flex;overflow:auto;gap:10px;padding:0 4px 8px}.shelf button{min-width:150px;max-width:170px;margin:0}.studio-layout .paper,.studio-layout .receipt{width:100%}.paper,.receipt{padding:22px}.studio-layout .receipt{order:1}.studio-layout .paper{order:2}.studio-layout .shelf{order:0}.budget-row{gap:9px;grid-template-columns:minmax(0,1fr) 90px auto}.custom-add{grid-template-columns:minmax(0,1fr) 90px 45px}.date-choices{grid-template-columns:1fr 1fr}.tablecloth{padding:22px;box-shadow:5px 5px 0 #073e29}.date-top h1{font-size:3.3rem}.date-top img{width:65px}.date-question{font-size:1.9rem}.conversation{grid-template-columns:1fr}.date-top{margin-bottom:25px}.sample-strip{align-items:flex-start}.result-title{font-size:2.5rem}.date-edit .budget-row{grid-template-columns:minmax(0,1fr) 80px auto}.date-edit .pin{max-width:65px;line-height:1.3}.studio-preview-footer{margin:0 20px;padding:20px 0;font-size:11px}.receipt .sum{font-size:3rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.prototype,.mast,.studio-preview-footer,button,.shelf,.sample-strip,.custom-add,.actions{display:none!important}body,.date-page{background:white;color:black}main{padding:0}.receipt,.paper,.tablecloth{box-shadow:none}.result-layout{display:block}.receipt{margin-bottom:25px}.date-top{color:black}.budget-row input{border:0}.studio-layout{display:block}}

.mobile-total{display:none}@media(max-width:760px){body[data-direction=studio]{padding-bottom:65px}.mobile-total{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper);border-top:3px solid var(--yellow);padding:18px 20px;z-index:10;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.studio-layout .paper{order:1}.studio-layout .receipt{order:2}}@media print{.mobile-total{display:none!important}}
