@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#1d1714;--ivory:#fffaf1;--paper:#f5efe6;--wine:#741f2a;--gold:#c9934f;--line:rgba(29,23,20,.16)}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}body{margin:0}.calculator-page{min-height:100vh;background:var(--paper)}.calculator-header{display:flex;align-items:center;justify-content:space-between;padding:28px 7vw;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.calculator-logo{display:block;width:112px;line-height:0}.calculator-logo img{display:block;width:112px;height:52px;object-fit:contain;filter:brightness(0) saturate(100%)}.calculator-intro{display:grid;grid-template-columns:.7fr 1.3fr .85fr;align-items:end;gap:5vw;min-height:370px;padding:70px 7vw 80px;background:var(--wine);color:var(--ivory)}.section-kicker{margin:0;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.section-kicker:before{content:"";display:inline-block;width:34px;height:1px;margin:0 12px 3px 0;background:currentColor}.calculator-intro h1{margin:0;font:400 clamp(70px,9vw,140px)/.8 'Libre Caslon Display',serif;letter-spacing:-.06em}.calculator-intro h1 em{color:#e9bd7e;font-style:italic}.intro-copy{max-width:390px;margin:0;border-left:1px solid #fff7;padding-left:24px;font:20px/1.45 'Libre Caslon Display',serif}.calculator-card{width:min(1200px,88vw);margin:-35px auto 90px;padding:clamp(28px,5vw,65px);background:var(--ivory);border:1px solid var(--line);box-shadow:0 18px 50px rgba(67,38,27,.08)}.calculator-card-head{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}.calculator-card-head h2{margin:18px 0 0;font:400 clamp(42px,5vw,70px)/.9 'Libre Caslon Display',serif;letter-spacing:-.05em}.community-field{display:flex;flex-direction:column;gap:8px;min-width:210px}.community-field span{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.community-field select{padding:12px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}.calculator-note{margin:20px 0 35px;color:#6c5e57;font-size:14px}.rate-group{margin-top:38px}.rate-group h3{margin:0 0 14px;color:var(--wine);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.rate-table{border-top:1px solid var(--line)}.rate-table-head,.rate-row{display:grid;grid-template-columns:minmax(180px,1.7fr) minmax(105px,.8fr) 100px minmax(115px,.8fr);align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}.rate-table-head{color:#786961;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.rate-row{font-size:14px}.rate-row strong,.rate-row output{text-align:right;font-weight:600}.rate-row input{width:76px;padding:9px 8px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;text-align:center}.rate-row input:focus{outline:2px solid var(--gold);outline-offset:1px}.calculator-total{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 25px;margin-top:48px;padding:26px 0 0;border-top:2px solid var(--wine)}.calculator-total span{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.calculator-total strong{color:var(--wine);font:400 clamp(32px,4vw,58px)/1 'Libre Caslon Display',serif}.calculator-total small{grid-column:1/-1;color:#796b64;font-size:12px}.calculator-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:45px 7vw 55px;background:var(--wine);color:var(--ivory);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.calculator-footer a{display:block;width:180px;line-height:0}.calculator-footer img{display:block;width:180px;height:auto}.calculator-footer span{opacity:.75}
@media(max-width:760px){.calculator-header{padding:20px 20px}.calculator-logo,.calculator-logo img{width:92px}.calculator-logo img{height:44px}.calculator-intro{display:block;min-height:0;padding:58px 24px 70px;overflow:hidden}.calculator-intro h1{margin:36px 0 32px;font-size:clamp(64px,19vw,90px)}.intro-copy{font-size:18px}.calculator-card{width:calc(100% - 24px);margin:-22px auto 55px;padding:28px 18px;overflow:hidden}.calculator-card-head{display:block}.community-field{margin-top:25px}.calculator-note{font-size:13px;line-height:1.5}.rate-table{width:100%;overflow:hidden}.rate-table-head,.rate-row{grid-template-columns:minmax(0,1fr) 62px 52px 70px;gap:5px;padding:12px 4px}.rate-table-head{font-size:8px}.rate-row{font-size:12px}.rate-row input{width:52px;padding:8px 1px}.calculator-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.calculator-total strong{font-size:34px}.calculator-total small{width:100%;margin-top:6px}.calculator-footer{padding:35px 24px 42px;align-items:start;flex-direction:column}.calculator-footer a,.calculator-footer img{width:160px}}
/* quotation enhancements */
.quote-meta{display:grid;grid-template-columns:1fr 220px 160px;gap:16px;margin:30px 0 8px}.quote-meta label,.travel-field{display:flex;flex-direction:column;gap:8px}.quote-meta span,.travel-field span{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.quote-meta input,.travel-field input{padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}.day-controls{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:20px 0 4px;border-top:1px solid var(--line)}.day-controls span{color:#796b64;font-size:12px}.day-block{margin-top:26px;padding:20px;background:rgba(116,31,42,.04);border:1px solid var(--line)}.day-block>h3{margin:0 0 10px;color:var(--wine);font:400 32px/1 'Libre Caslon Display',serif}.day-block .rate-group{margin-top:22px}.deliverables-heading{margin-top:42px;padding-top:25px;border-top:2px solid var(--wine)}.extras-row{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.check-field{display:flex;align-items:center;gap:10px;font-size:14px}.check-field input{width:18px;height:18px;accent-color:var(--wine)}.travel-field{width:220px}.calculator-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.calculator-actions button{padding:13px 20px;border:1px solid var(--wine);background:var(--wine);color:var(--ivory);font:700 11px 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.calculator-actions button+button{background:transparent;color:var(--wine)}
@media print{.calculator-header,.calculator-intro,.calculator-footer,.calculator-actions{display:none}.calculator-card{width:100%;margin:0;padding:0;border:0;box-shadow:none}.quote-meta{margin-top:0}.day-block{break-inside:avoid}.calculator-page{background:#fff}.extras-row{break-inside:avoid}}
@media(max-width:760px){.quote-meta{grid-template-columns:1fr 1fr;gap:12px}.quote-meta label:first-child{grid-column:1/-1}.day-controls{display:block}.day-controls span{display:block;margin-top:8px}.day-block{padding:12px 8px}.day-block>h3{font-size:28px}.extras-row{display:block}.travel-field{width:100%;margin-top:18px}.calculator-actions{justify-content:stretch}.calculator-actions button{flex:1;padding:12px 8px}}
.quantity-control{display:flex;align-items:center;justify-content:center;gap:3px}.quantity-control button{width:32px;height:40px;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--wine);font:600 18px/1 'DM Sans',sans-serif;cursor:pointer;flex-shrink:0}.quantity-control input{width:42px!important;appearance:textfield}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.print-invoice-head{display:none}
@media print{.print-invoice-head{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;margin-bottom:18px;border-bottom:2px solid #741f2a}.print-invoice-head img{width:150px;height:auto;filter:brightness(0) saturate(100%)}.print-invoice-head div{text-align:right;color:#741f2a}.print-invoice-head span{display:block;font:600 11px 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase}.print-invoice-head strong{display:block;margin-top:5px;font:400 24px 'Libre Caslon Display',serif}.quote-meta input{border:0;padding:0;font-weight:600}.rate-table-head,.rate-row{gap:8px;padding:7px 8px;font-size:11px}.rate-row input,.quantity-control button{display:none}.day-block{margin-top:12px;padding:10px}.rate-group{margin-top:14px}.calculator-total{margin-top:20px;padding-top:12px}.calculator-card{font-size:11px}}
