:root{--wine:#652c3a;--paper:#fffaf1;--ink:#36282b;--muted:#71565d;--line:#d5bdbd;--rose:#ead9d6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 'Malgun Gothic',sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation}:focus-visible{outline:3px solid #9c6417;outline-offset:4px}.skip{position:absolute;top:-90px;background:white;padding:15px}.skip:focus{top:0;z-index:5}header{max-width:1440px;margin:auto;padding:28px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font:27px Batang,serif;color:var(--wine);text-decoration:none}.brand span{display:block;font:9px Georgia,serif;letter-spacing:2px;margin-top:10px}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{font-size:14px}main{max-width:1440px;margin:auto}h1,h2,h3{font-family:Batang,serif;font-weight:normal;word-break:keep-all;overflow-wrap:anywhere}h1{font-size:clamp(36px,6vw,78px);line-height:1.4;letter-spacing:-2px}h2{font-size:clamp(25px,3vw,38px);line-height:1.6}h3{font-size:26px;margin:0}p{word-break:keep-all;overflow-wrap:anywhere}.eyebrow{font:11px/1.8 Georgia,serif;letter-spacing:3px;color:var(--wine)}.cover{position:relative;text-align:center;padding:60px 6vw 0}.cover h1{margin:18px 0;color:var(--wine)}.cover em{font-style:normal}.lead{font-size:16px}.cover-links{display:flex;justify-content:center;align-items:center;gap:30px;margin:32px 0}.button,button{display:inline-block;padding:13px 22px;background:var(--wine);color:#fffaf1;border:1px solid var(--wine);border-radius:0;text-decoration:none;font-size:14px;cursor:pointer}.button:hover,button:hover{background:#44202a;color:white}button:disabled{opacity:.55;cursor:default}.cover figure{max-width:850px;margin:45px auto 0}.cover figure img{aspect-ratio:2/1;object-fit:cover}.vertical-note{writing-mode:vertical-rl;position:absolute;right:3%;bottom:15%;font:11px Georgia,serif;letter-spacing:4px}figure{margin:28px 0}img{display:block;max-width:100%;height:auto}figcaption{font-size:11px;color:var(--muted);line-height:1.8;margin-top:8px}.planning-board,.notes{display:grid;grid-template-columns:1fr 1.8fr;gap:6vw;padding:70px 6vw;border-bottom:1px solid var(--line)}.section-head h2{margin-top:15px}.tool-list>a{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:25px 0;text-decoration:none}.tool-list>a:first-child{border-top:1px solid var(--line)}.tool-list span,.note-no{font:24px Georgia,serif;color:var(--wine)}.tool-list p{font-size:14px;margin:8px 0}.tool-list b{margin-left:auto}.note-list{padding:0 6vw 60px}.notes .note-list{padding:0}.note-list article{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:25px 0}.note-list article[hidden]{display:none}.note-list h2{font-size:23px;margin:8px 0}.note-list p{font-size:13px;margin:0}.tag{font-size:11px;color:var(--wine)}.reference{margin:55px 6vw;padding:35px 5vw;background:#f1e5df}.reference h2{font-size:28px;margin:0}.reference p{max-width:850px;font-size:14px}.crumb{margin:22px 6vw;color:var(--muted);font-size:12px;gap:10px}.crumb a{font-size:12px}.page-intro{padding:25px 6vw 35px}.page-intro h1{font-size:clamp(34px,4vw,55px);margin:15px 0}.workspace{display:grid;grid-template-columns:1.2fr 1fr;margin:0 6vw 50px;border:1px solid var(--line)}form{padding:30px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px}label{display:block;font-size:13px;margin:12px 0}input,select{display:block;width:100%;min-width:0;border:1px solid #a98990;border-radius:0;background:var(--paper);padding:10px;color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.result-sheet{background:#f1e5df;padding:30px;min-width:0}.result-sheet h2{font-size:28px;margin:0 0 24px}.result-sheet output{display:block;font-size:21px;color:var(--wine);margin:25px 0;line-height:2}.result-sheet p{font-size:12px}.result-sheet li{padding:10px 0}.result-sheet ol{padding-left:20px}#budget-error,#timeline-error{color:#8b1027}.filters{display:flex;gap:20px;flex-wrap:wrap}.filters label:first-child{flex:1}.filters label{min-width:110px}.prose{max-width:820px;padding:20px 28px 70px;margin:auto}.prose h1{font-size:clamp(32px,4vw,48px)}.prose h2{font-size:27px;margin-top:48px}.prose p{line-height:2}.prose figure{max-width:600px;margin:35px auto}.prose figure img{max-height:460px;width:auto;margin:auto;object-fit:contain}.prose table{width:100%;border-collapse:collapse;font-size:14px}.prose td,.prose th{border-bottom:1px solid var(--line);text-align:left;padding:12px 8px}.prose .meta{font-size:12px;color:var(--muted)}footer{padding:40px 6vw;background:#eee1da;margin-top:50px}footer strong{font:24px Batang,serif}footer p{font-size:12px}footer nav{gap:18px}footer nav a{font-size:12px}@media(max-width:700px){header{padding:22px 6vw;align-items:flex-start;flex-direction:column;gap:22px}.brand{font-size:25px}header nav{gap:25px}.cover{padding-top:28px}.cover-links{gap:20px;flex-wrap:wrap}.cover figure{margin-top:30px}.vertical-note{display:none}.planning-board,.notes{grid-template-columns:1fr;padding:45px 6vw;gap:15px}.section-head h2 br{display:none}.tool-list>a{gap:15px}.workspace{grid-template-columns:1fr}.input-grid{gap:10px}.workspace form,.result-sheet{padding:22px}.prose{padding:10px 6vw 40px}.prose figure img{max-height:350px}.note-list h2{font-size:21px}.cover figure img{aspect-ratio:3/2}.reference{padding:24px}.page-intro{padding-top:10px}h1{letter-spacing:-1px}.tool-list h3{font-size:23px}.tool-list p{font-size:13px}.note-list article{gap:14px}.result-sheet output{font-size:19px}}
.details{padding:50px 6vw;border-bottom:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.detail-grid figure{margin-top:15px}.detail-grid img{height:250px;width:100%;object-fit:contain;background:#f1e5df}.detail-grid h3{font-size:23px}.detail-grid figcaption{font-size:11px}.home-calculation{display:grid;grid-template-columns:1fr 1.5fr;gap:35px;align-items:center;margin-top:40px}.home-calculation p{font-size:14px}@media(max-width:700px){.detail-grid,.home-calculation{grid-template-columns:1fr}.detail-grid img{height:auto;max-height:350px}.home-calculation{gap:10px}}
