/* Original CSS/SVG implementation inspired by Bklit's information hierarchy.
   Approved production detail layer. No Bklit Studio source or new runtime is copied. */
@media screen {
  .bk-library{background-color:#f5f5f3;background-image:radial-gradient(#20202012 .7px,transparent .7px);background-size:20px 20px}
  .bk-library-meta{max-width:1440px;margin:0 auto 36px;padding-bottom:16px;border-bottom:1px solid #d4d4cf;display:flex;justify-content:space-between;gap:16px;font-family:Inter,Pretendard,sans-serif;font-size:11px;letter-spacing:.1em;color:#666761}
  .bk-library .guide-grid{gap:28px}
  .bk-library .guide-tile>a{background:#fff;border:1px solid #deded8;border-radius:19px;overflow:hidden;box-shadow:0 2px 3px #00000003,0 12px 26px -24px #0004;transition:box-shadow 180ms ease,border-color 180ms ease}
  .bk-library .tile-photo,.bk-library .guide-tile.wide .tile-photo{border-radius:0}
  .bk-library .tile-copy{padding:23px 24px 24px}
  .bk-library .tile-kind{font-family:Inter,Pretendard,sans-serif;letter-spacing:.13em;font-size:11px}
  .bk-library .tile-copy ul{border-top:1px solid #ededE8;padding-top:15px}
  .bk-library .tile-copy li{border:0;padding:0}
  .bk-library .tile-action{border-top:1px solid #ededE8;padding-top:16px;margin-top:19px;text-decoration:none;font-size:13px;font-weight:650}
  .bk-library .tile-open{border:1px solid #fff8;box-shadow:0 3px 10px #0002}
  .bk-library .filters{background:#e8e8e2;border:1px solid #dcdcd6;box-shadow:inset 0 1px 2px #00000004}
  .bk-flights{position:relative;background-image:radial-gradient(#41133415 .75px,transparent .75px);background-size:20px 20px}
  .bk-flights .flight-board{border:1px solid #ffffff42;box-shadow:0 3px 5px #35102b14,12px 22px 0 #9f286530,0 30px 70px -40px #3b082e9c;border-radius:20px}
  .bk-flights .board-top{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.13em}
  .bk-flights .board-bottom{padding-bottom:20px}
  .bk-ticket-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px dashed #ffffff35;padding:18px 0 23px}
  .bk-ticket-details>div{display:flex;flex-direction:column;gap:6px}.bk-ticket-details>div+div{padding-left:15px;border-left:1px solid #ffffff20}
  .bk-ticket-details b{font-size:18px;letter-spacing:-.04em;font-weight:550;color:#ff91db}.bk-ticket-details span{font-size:11px;color:#b7b7b1}
  .bk-flights .board-footer{border-radius:0 0 19px 19px;border-top:1px solid #ffffff14;background:linear-gradient(100deg,#242424,#161616)}

  #budget.bk-budget{background:#f3f3ee;background-image:radial-gradient(#0000000c .7px,transparent .7px);background-size:20px 20px}
  .bk-budget .section-heading{align-items:flex-end}
  .bk-budget .section-heading h2{font-weight:640;font-size:clamp(32px,4.4vw,64px);line-height:1.12;letter-spacing:-.055em}
  .bk-budget .section-heading>p{font-weight:450;color:#62655e;font-size:15px;max-width:370px}
  .bk-budget .budget-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.68fr);gap:28px}
  .bk-budget .budget-form{border:1px solid #d7d9d1;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px -18px #0004}
  .bk-budget .budget-plan-summary{background:#fce8f6;border-bottom:1px solid #e4d9e0;padding:22px 24px;gap:14px}
  .bk-budget .budget-plan-summary>span{font-size:12px;color:#71656d}.bk-budget .budget-plan-summary b{font-size:14px;font-weight:650}
  .bk-budget .budget-top,.bk-budget .budget-options{border-color:#e3e4dc}
  .bk-budget .budget-top label,.bk-budget .budget-options label{border-color:#e3e4dc;font-weight:550}
  .bk-budget .budget-auto-note{background:#f7f8f4;border-color:#e2e4dc}
  .bk-budget .budget-row{border-color:#e3e4dc}.bk-budget .budget-name{font-weight:650}
  .bk-budget .budget-total{background:#fff;border:1px solid #d7d9d1;border-radius:20px;padding:30px;box-shadow:0 4px 10px -7px #0002,0 20px 55px -40px #0004}
  .bk-budget .budget-total>p:first-child{color:#686b63;font-size:12px;font-weight:500;letter-spacing:.015em;margin-bottom:12px}
  .bk-budget #budget-total{font-family:Inter,Pretendard,sans-serif;font-weight:600;font-size:clamp(28px,2.9vw,43px);line-height:1.1;letter-spacing:-.055em}
  .bk-budget #budget-per-person{font-size:13px;font-weight:500;color:#60645b;margin-top:10px}
  .bk-budget .bk-budget-chart{margin:20px 0 16px;padding:0;border:0}
  .bk-donut-wrap{position:relative;width:min(210px,100%);aspect-ratio:1;margin:auto}
  .bk-donut{width:100%;height:100%;display:block}
  .bk-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
  .bk-donut-center>span{font-size:11px;color:#64665e;letter-spacing:.04em}
  .bk-donut-center>b{font-family:Inter,sans-serif;font-size:42px;line-height:1.2;letter-spacing:-.05em;font-weight:500;color:#151515}
  .bk-donut-center>small{font-size:10px;color:#797b73}
  .bk-chart-caption{text-align:center;font-size:11px;color:#75786d;margin-top:6px}
  .bk-budget-line{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;column-gap:8px;row-gap:6px;padding:11px 0;border-top:1px solid #eeeeE7;font-size:12px;font-weight:400}
  .bk-budget-name{display:flex;gap:8px;align-items:center}.bk-swatch{width:7px;height:7px;flex:0 0 7px;border-radius:50%}
  .bk-budget-line>b{font-family:Inter,Pretendard,sans-serif;font-size:12px;font-weight:550;letter-spacing:-.015em;font-variant-numeric:tabular-nums;text-align:right}
  .bk-budget-share{color:#666b60;font-size:11px;text-align:right;font-variant-numeric:tabular-nums}
  .bk-mini-track{display:block;height:3px;background:#f3f3ee;grid-column:1/-1;border-radius:4px;overflow:hidden}
  .bk-mini-track>i{display:block;width:100%;height:100%;transform-origin:left;border-radius:4px}
  .bk-budget .budget-total .bk-budget-note{font-size:12px;font-weight:400;color:#62685b;line-height:1.7;margin:15px 0 20px;padding-top:12px;border-top:1px dashed #dfe1d6}
  .bk-budget #budget-breakdown{display:none}
  .bk-budget .budget-total>.button{background:#171717;color:#fff;border:1px solid #171717;min-height:48px;border-radius:12px;font-size:13px;font-weight:600}

  .bk-finder .choice{border:1px solid #ddded7;background:#fff;box-shadow:0 2px 4px #00000003;transition:border-color 160ms ease,background-color 160ms ease}
  .bk-finder .choice[aria-pressed=true]{border:1px solid #a94a8a;padding:22px;background:#fff1fa;box-shadow:0 0 0 2px #f7daed inset}
  .bk-finder .choice[aria-pressed=true] .choice-arrow{color:#a3297e}
  .bk-finder .hint{background:#f2f1ed;border:1px solid #dfdfd7;font-size:14px;color:#4b5046}
  .bk-finder #adult-hint{padding:22px;background:transparent;border:0}.bk-finder #adult-hint>p{max-width:800px;margin-bottom:22px}
  .bk-cost-card{background:#fff;border:1px solid #d7dad1;border-radius:20px;padding:30px;color:#191c17;box-shadow:0 4px 9px -7px #0003,0 22px 60px -50px #0004}
  .bk-cost-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}
  .bk-cost-card .bk-overline{font-family:Inter,sans-serif;font-size:10px;font-weight:500;letter-spacing:.13em;color:#777c70;margin:0 0 10px}
  .bk-cost-heading h3{font-size:25px;letter-spacing:-.04em;font-weight:650;margin:0}
  .bk-cost-badge{flex-shrink:0;font-size:11px;padding:6px 10px;color:#646e5c;background:#f1f3ec;border:1px solid #e2e7da;border-radius:7px}
  .bk-cost-options{border:0;padding:0;margin:26px 0;display:flex;gap:8px;flex-wrap:wrap}
  .bk-cost-options legend{font-size:12px;color:#676f60;margin-bottom:10px}
  .bk-cost-options label{position:relative;cursor:pointer}
  .bk-cost-options input{position:absolute;opacity:0;width:1px;height:1px}
  .bk-cost-options label>span{display:grid;place-items:center;min-width:91px;min-height:44px;border:1px solid #dcded5;border-radius:9px;font-size:13px;font-weight:550;background:#f9faf6;color:#505847}
  .bk-cost-options input:checked+span{background:#1c2019;color:#fff;border-color:#1c2019}
  .bk-cost-options input:focus-visible+span{outline:3px solid #a42b80;outline-offset:3px}
  .bk-cost-result{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}
  .bk-cost-result>div>span{font-size:12px;color:#717768}.bk-cost-result strong{display:block;font-family:Inter,Pretendard,sans-serif;font-size:clamp(35px,4vw,50px);font-weight:550;letter-spacing:-.055em;line-height:1.1;margin-top:8px;font-variant-numeric:tabular-nums}
  .bk-cost-result>p{font-size:13px;color:#697060;margin:0!important}
  .bk-cost-bar{height:32px;display:flex;gap:3px;background:#fff;border-radius:7px;overflow:hidden}
  .bk-cost-own{width:70%;background:#ff70cf}.bk-cost-support{flex:1;background:repeating-linear-gradient(135deg,#9eaf9c 0px,#9eaf9c 2px,#e4ebe0 2px,#e4ebe0 7px)}
  .bk-cost-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px 0;border-bottom:1px solid #e6e8de;margin:0 0 18px}
  .bk-cost-legend>div+div{border-left:1px solid #e6e8de;padding-left:20px}.bk-cost-legend dt{font-size:12px;color:#6d7565;margin-bottom:4px}.bk-cost-legend dd{font-family:Inter,Pretendard,sans-serif;font-size:19px;margin:0;font-weight:550;letter-spacing:-.03em}
  .bk-cost-card .bk-cost-foot{font-size:12px;color:#636d5a;line-height:1.75;margin:0 0 12px}
  .bk-cost-card .bk-cost-source{font-size:11px;color:#7b8172;line-height:1.7;margin:0;padding-top:14px;border-top:1px dashed #e0e3d9}
  .bk-finder #student-hint{border-left:3px solid #ff70cf;background:#fff;padding:24px}.bk-finder #student-hint strong:first-child{font-size:22px;font-weight:650;color:#171a14}
  .bk-finder .notice-card{border-color:#dcded6;box-shadow:0 8px 24px -23px #0008}

  @media(hover:hover) and (pointer:fine){.bk-library .guide-tile>a:hover{border-color:#bdbeb5;box-shadow:0 8px 18px -12px #0002,0 22px 35px -25px #0003}.bk-cost-options label:hover>span{border-color:#969f8c}}
  @media(max-width:1000px){.bk-budget .budget-layout{grid-template-columns:1fr}.bk-budget .budget-total{position:static}.bk-budget .budget-form{order:2}.bk-budget .budget-total{order:1}.bk-budget .budget-total:has(.bk-budget-chart){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.bk-budget .budget-total>p:first-child,.bk-budget #budget-total,.bk-budget #budget-per-person{grid-column:1}.bk-budget .bk-budget-chart{grid-column:2;grid-row:1/5;margin:0}.bk-budget .bk-budget-legend,.bk-budget .bk-budget-note,.bk-budget .budget-total>.button{grid-column:1/-1}}
  @media(max-width:700px){.bk-library-meta{font-size:9px;letter-spacing:.07em;margin-bottom:25px;gap:20px}.bk-library-meta>span:last-child{text-align:right;max-width:140px}.bk-library .guide-grid{gap:24px 12px}.bk-library .tile-copy{padding:15px 13px 18px}.bk-library .tile-copy>p:not(.tile-kind){font-size:14px}.bk-library .tile-copy h3{font-size:17px}.bk-library .guide-tile.wide:first-child h3{font-size:24px}.bk-library .tile-action{font-size:12px;padding-top:13px}.bk-library .tile-copy ul{font-size:11px;gap:6px 9px}.bk-library .guide-tile>a{border-radius:15px}.bk-library .tile-kind{font-size:10px}.bk-ticket-details>div+div{padding-left:8px}.bk-ticket-details span{font-size:10px}.bk-flights .flight-board{box-shadow:8px 15px 0 #9f286530,0 25px 40px -35px #34112c80}.bk-budget .budget-layout{gap:20px}.bk-budget .budget-total:has(.bk-budget-chart){display:block;padding:23px}.bk-budget #budget-total{font-size:36px}.bk-budget .bk-budget-chart{margin:15px 0 20px}.bk-budget .bk-donut-wrap{width:170px}.bk-budget .budget-plan-summary{padding:18px;grid-template-columns:1fr;gap:8px}.bk-budget .section-heading>p{font-size:14px}.bk-budget .budget-total>.button{width:100%}.bk-finder .choice[aria-pressed=true]{padding:16px 13px}.bk-finder #adult-hint{padding:0;margin-top:22px}.bk-cost-card{padding:23px 20px}.bk-cost-heading{align-items:flex-start;gap:10px}.bk-cost-heading h3{font-size:22px;line-height:1.3}.bk-cost-badge{font-size:10px}.bk-cost-card .bk-overline{font-size:9px;letter-spacing:.08em}.bk-cost-result{display:block;margin-bottom:22px}.bk-cost-result>p{margin-top:12px!important;font-size:12px}.bk-cost-options{gap:7px;margin:22px 0}.bk-cost-options label{flex:1}.bk-cost-options label>span{min-width:0;padding:0 10px}.bk-cost-legend{gap:8px}.bk-cost-legend>div+div{padding-left:9px}.bk-cost-legend dt{font-size:10px}.bk-cost-legend dd{font-size:15px}.bk-cost-card .bk-cost-source{font-size:10px}}
  @media(prefers-reduced-motion:reduce){.bk-library *, .bk-budget *, .bk-finder *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}
@media print{.bk-budget-chart,.bk-budget-legend,.bk-budget-note,.bk-cost-card,.bk-library-meta,.bk-ticket-details{display:none!important}}
