:root{color-scheme:light;--bg:#edf2f5;--ink:#122633;--muted:#49616e;--line:#dce6eb;--accent:#ff865a;--paper:#fbfdfe;--navy:#102632;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*,*::before,*::after{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit}img{display:block}.wrap{max-width:1248px;margin-inline:auto;padding-inline:32px}.mast{height:80px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:11px;font-weight:850;line-height:1.12;letter-spacing:.15em}.locale{display:flex;align-items:center;gap:8px;background:#f8fbfc;border:1px solid #dbe5ea;border-radius:30px;padding:5px 12px;color:#314e5d}.locale select{background:transparent;border:none;padding:6px 4px;color:var(--ink);font-size:.84rem}.hero{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;min-height:364px;background:#172d3b;color:white;display:flex;align-items:center}.terrain{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c202cf5 0%,#102633e8 27%,#152e3c89 51%,transparent 75%)}.hero-content{padding:42px 52px;max-width:580px}.eyebrow,.section-label,.hero-tag{display:flex;align-items:center;gap:9px;font-size:.69rem;letter-spacing:.15em;font-weight:780}.eyebrow{color:#e2edf2;margin:0 0 12px}.dot{width:7px;height:7px;background:var(--accent);border-radius:50%;flex:none}.hero h1{font-size:clamp(4rem,8vw,7.25rem);letter-spacing:-.095em;line-height:.95;margin:0 0 17px;font-weight:850}.hero h1 span{color:var(--accent)}.intro{font-size:1.05rem;line-height:1.55;max-width:345px;margin:0 0 23px;color:#e6eef2}.hero-link{display:inline-flex;align-items:center;gap:20px;padding:10px 14px;border-radius:9px;background:#f0f6f8;color:#122633;font-weight:760;font-size:.82rem;text-decoration:none}.hero-link:hover{background:#fff}.hero-tag{position:absolute;right:22px;bottom:18px;color:#223e4c;font-size:.58rem}.hero-tag span{width:18px;height:1px;background:currentColor}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(284px,335px);grid-template-areas:"trip summary" "expenses summary";gap:25px 24px;margin-top:25px;align-items:start}.panel{background:var(--paper);border:1px solid #dce6eb;border-radius:19px;padding:26px}.trip{grid-area:trip}.section-label{color:var(--muted);margin:0 0 7px}.section-label span:not(.dot){color:inherit}.section-label:has(.dot){color:#d5e3eb}.trip h2,.expenses h2{font-size:1.66rem;letter-spacing:-.045em;margin:0 0 19px;line-height:1.12}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 13px}.field{min-width:0;display:grid;gap:6px;align-content:start}.field.wide{grid-column:span 2}.field>span,.row-field>span{font-size:.79rem;font-weight:700;color:#314d5a;line-height:1.25}.field input,.field select,.row-field input,.row-field select{min-width:0;width:100%;background:#f3f7f9;border:1px solid #dbe6eb;border-radius:8px;color:var(--ink);padding:9px 10px;min-height:41px}.field input::placeholder,.row-field input::placeholder{color:#617988;opacity:1}.field input[aria-invalid=true],.row-field input[aria-invalid=true]{border-color:#ae493e;background:#fff4f1}.field-note{font-size:.69rem;color:var(--muted);margin:0;line-height:1.3}.summary-slot{grid-area:summary;position:sticky;top:18px}.summary{background:var(--navy);color:#f5fbfc;border:1px solid #142d3b;border-radius:19px;padding:25px;box-shadow:0 14px 30px #12263318}.summary .section-label{margin-bottom:18px}.destination{margin:0 0 10px;font-size:.85rem;color:#e0e9ee;overflow-wrap:anywhere}.total-label{margin:0;color:#d4e1e8;font-size:.86rem}.total{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:800;line-height:1.08;letter-spacing:-.065em;margin:5px 0 19px;color:#fff;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metrics{margin:0;font-size:.79rem}.metrics div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 0;border-top:1px solid #36505f}.metrics dt{color:#d4e3e9}.metrics dd{margin:0;text-align:right;font-weight:720;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}.metrics div:last-child dd{color:#ffd2c0}.summary-hint{font-size:.75rem;line-height:1.4;margin:9px 0 0;color:#d5e1e7}.summary-hint:empty{display:none}.summary-link{display:inline-flex;gap:10px;align-items:center;margin-top:16px;font-size:.77rem;font-weight:700;color:#eaf3f6;text-underline-offset:4px}.expenses{grid-area:expenses}.expense-title{padding:0 3px 14px}.expenses h2{margin:0 0 6px}.expense-title p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.category{background:var(--paper);border:1px solid var(--line);border-radius:13px;margin:0 0 8px}.category>summary{display:grid;grid-template-columns:29px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;list-style:none;min-height:55px}.category>summary::-webkit-details-marker{display:none}.category>summary:hover{background:#f1f7fa;border-radius:12px}.cat-index{color:#5d7583;font-size:.71rem;font-weight:740;font-variant-numeric:tabular-nums}.cat-name{font-size:.93rem;font-weight:760;overflow-wrap:anywhere}.cat-total{font-size:.82rem;font-weight:720;max-width:115px;overflow-wrap:anywhere}.chevron{justify-self:center;width:8px;height:8px;border-right:1.5px solid #486674;border-bottom:1.5px solid #486674;transform:rotate(45deg) translateY(-2px)}.category[open] .chevron{transform:rotate(225deg) translate(-1px,-1px)}.item{padding:13px 15px;border-top:1px solid #e3ebef}.item-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.item-head strong{font-size:.85rem}.line-total{font-size:.75rem;text-align:right;color:#436675;max-width:110px;overflow-wrap:anywhere}.item-fields{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;align-items:end}.row-field{display:grid;gap:4px;min-width:0}.row-field>span{font-size:.69rem}.row-field select,.row-field input{font-size:.84rem;min-height:37px;padding:7px 8px}footer.wrap{display:flex;justify-content:space-between;gap:15px;margin-top:21px;padding-block:21px 30px;border-top:1px solid #dbe5eb;font-size:.72rem;color:var(--muted)}footer span:first-child{font-weight:800;letter-spacing:.13em}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #2d7291;outline-offset:3px}#trip,#expenses{scroll-margin-top:16px}noscript{display:block;margin:20px}
@media(max-width:860px){.wrap{padding-inline:21px}.workspace{grid-template-columns:minmax(0,1fr) minmax(248px,285px);gap:17px}.hero{min-height:330px}.hero-content{padding:32px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.summary{padding:20px}}
@media(max-width:680px){.wrap{padding-inline:15px}.mast{height:64px}.hero{min-height:300px;border-radius:17px}.hero-content{padding:25px;max-width:330px}.hero h1{font-size:clamp(3.6rem,14vw,5.6rem)}.hero-tag{display:none}.hero::after{background:linear-gradient(90deg,#0c202cf7,#102633ce 44%,#152e3c39 100%)}.terrain{object-position:64% center}.intro{font-size:.92rem}.workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"trip" "summary" "expenses";gap:14px;margin-top:14px}.summary-slot{position:static}.panel,.summary{padding:17px;border-radius:15px}.fields{gap:11px 9px}.expenses h2,.trip h2{font-size:1.45rem}.field input,.field select,.row-field input,.row-field select{font-size:16px}.row-field select{padding-right:3px}.category>summary{gap:7px;grid-template-columns:23px minmax(0,1fr) auto 16px;padding-inline:11px}.item{padding-inline:11px}.summary-link{margin-top:12px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.mast-brand{display:flex;align-items:center;gap:8px}
.brand{font-size:.78rem;letter-spacing:0}
.instagram{display:grid;place-items:center;width:36px;height:36px;color:var(--ink);border:1px solid var(--line);border-radius:11px;background:#f8fbfc}
.brand:hover .instagram,.brand:focus-visible .instagram{color:#255875;background:white}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.hero-actions .hero-link,.hero-actions .clear-trigger{min-height:44px;padding-inline:11px;font-size:.78rem}
.hero-actions .hero-link{gap:8px}
.hero-actions .clear-trigger{border-color:#9db6c5;background:#102632ae}
.hero-actions .clear-trigger:hover{background:#27414e}
.hero h1{font-size:clamp(3.1rem,6.1vw,5.4rem);letter-spacing:-.077em;line-height:.88}
.hero h1 span{display:block;color:#dcebf1}
.hero-tag,footer span:first-child{letter-spacing:.04em}
.summary-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px}
.summary-footer .summary-link{margin-top:0}
.share-pdf{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid #9db6c5;border-radius:8px;background:#f0f6f8;color:#122633;font-size:.77rem;font-weight:750;cursor:pointer}
.share-pdf:disabled{opacity:.55;cursor:default}
.share-pdf:focus-visible{outline:2px solid #ffd2c0;outline-offset:3px}
.pdf-file-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pdf-file-actions[hidden],.pdf-file-actions [hidden]{display:none}
.pdf-file-actions .share-pdf{text-decoration:none}
.pdf-open{padding:8px;border:0;background:transparent;color:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}
.pdf-open:focus-visible{outline:2px solid #2d7291;outline-offset:3px}
.pdf-save-page{display:grid;place-items:center;min-height:100vh;padding:18px}
.pdf-save-card{width:min(100%,420px)}
.pdf-save-card h1{margin:0;font-size:1.65rem}
.pdf-save-card p{color:#395764}
.pdf-save-card #save-status:empty{display:none}
.clear-trigger{padding:7px 9px;border:1px solid #597482;border-radius:7px;background:transparent;color:#f5fbfc;font-size:.75rem;font-weight:700;cursor:pointer}
.clear-trigger:hover{background:#27414e}
.clear-trigger:focus-visible{outline:2px solid #ffd2c0;outline-offset:3px}
.clear-dialog{width:min(420px,calc(100% - 30px));padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 16px 45px #10263235}
.clear-dialog::backdrop{background:#10263299}
.clear-dialog h2{font-size:1.4rem;margin:0 0 8px;letter-spacing:-.035em}
.clear-dialog p{font-size:.91rem;line-height:1.5;color:var(--muted);margin:0 0 19px}
.clear-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.clear-actions button{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#edf3f6;color:var(--ink);font-size:.82rem;font-weight:700;cursor:pointer}
.clear-actions button[value=clear]{background:#9a3d2c;color:#fff;border-color:#9a3d2c}
.clear-actions button:focus-visible{outline:2px solid #2d7291;outline-offset:3px}
@media(max-width:680px){
  .workspace{grid-template-areas:"summary" "trip" "expenses"}
  .summary{padding:15px 17px}
  .summary .section-label{margin-bottom:10px}
  .summary .total{margin:4px 0 10px}
  .summary .metrics div{padding:7px 0}
  .summary-link{margin-top:8px}
  .mast-brand{gap:4px}
  .brand{gap:5px;font-size:.73rem}
  .hero h1{font-size:clamp(2.55rem,10.1vw,4.65rem)}
  .fields .field:is([data-trip-field=destination],[data-trip-field=contingency]){grid-column:1/-1}
  .fields .field>span{min-block-size:2.5em;display:flex;align-items:flex-end}
  .fields .field:is([data-trip-field=destination],[data-trip-field=contingency])>span{min-block-size:0}
  .fields .field input,.fields .field select{block-size:46px;min-block-size:46px;line-height:1.2;border-radius:8px}
  .fields .field select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23314d5a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}
  @supports(grid-template-rows:subgrid){
    .fields .field{grid-row:span 2;grid-template-rows:subgrid;align-content:normal;row-gap:6px}
    .fields .field>span{min-block-size:0}
    .fields .field:is([data-trip-field=days],[data-trip-field=nights],[data-trip-field=slopes],[data-trip-field=riders]){grid-row:span 3}
  }
}
@media(max-width:380px){
  .locale{padding-inline:6px}
  .locale>svg{display:none}
  .brand img{width:30px;height:30px}
  .instagram{width:32px;height:32px}
}

