:root{--espresso:#111;--clay:#d4af37;--clay-deep:#8f6b0f;--peach:#f3dd9a;--linen:#f8f4e8;--paper:#fffdf6;--cream:#fbf1cf;--ink-soft:#5c5646;--line:#e6dcc0;--shadow:0 6px 18px #1111111a}*{box-sizing:border-box}body{background:var(--linen);color:var(--espresso);margin:0;font-family:Nunito,system-ui,sans-serif;line-height:1.6}h1,h2,h3,h4{margin:0 0 .5rem;font-family:Fraunces,Georgia,serif;line-height:1.2}h1{font-size:2.2rem}a{color:var(--clay-deep)}.container{max-width:1120px;margin:0 auto;padding:0 1.25rem}.section{padding:3rem 1.25rem}.narrow{max-width:760px}.shell{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.muted{color:var(--ink-soft);margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--clay-deep);margin:0 0 .4rem;font-size:.75rem;font-weight:700}.topbar{background:var(--espresso);color:var(--linen);border-bottom:3px solid var(--clay)}.topbar-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.brand{color:var(--linen);align-items:center;gap:.6rem;font-family:Fraunces,serif;font-size:1.15rem;text-decoration:none;display:flex}.brand em{color:var(--peach);font-style:italic}.brand-mark{background:var(--clay);width:36px;height:36px;color:var(--espresso);border-radius:50%;place-items:center;font-weight:700;display:grid;transform:rotate(-6deg)}.nav{gap:.35rem;display:flex}.nav a{color:var(--linen);border-radius:999px;padding:.4rem .95rem;font-size:.95rem;font-weight:600;text-decoration:none}.nav a:hover{background:#d4af3733}.nav a.active{background:var(--peach);color:var(--espresso)}.notice-bar{background:var(--peach);text-align:center;padding:.45rem 1rem;font-size:.85rem;font-weight:600}.btn{border:2px solid var(--clay);font:inherit;cursor:pointer;border-radius:999px;padding:.7rem 1.5rem;font-weight:700;text-decoration:none;display:inline-block}.btn-primary{background:var(--clay);color:var(--espresso)}.btn-primary:hover{background:#bd9722;border-color:#bd9722}.btn-outline{color:var(--espresso);border-color:var(--espresso);background:0 0;width:100%;margin-top:auto}.btn-outline:hover{background:var(--espresso);color:var(--clay)}.btn:disabled{opacity:.6;cursor:not-allowed;border-style:dashed}.hero{background:radial-gradient(circle at 85% 20%, #d4af3759, transparent 55%), var(--linen);border-bottom:2px dashed var(--line)}.hero-inner{max-width:760px;padding:4.5rem 1.25rem}.hero h1{font-size:clamp(2rem,5vw,3.2rem)}.lead{color:var(--ink-soft);margin:0 0 1.75rem;font-size:1.15rem}.section-title{font-size:1.9rem}.section-sub{color:var(--ink-soft);margin:0 0 2rem}.tiers{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.tier{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;padding:1.75rem 1.5rem;display:flex;position:relative}.tier-featured{border:2px solid var(--clay);background:linear-gradient(180deg, var(--cream), var(--paper))}.stamp{background:var(--espresso);color:var(--peach);text-transform:uppercase;letter-spacing:.08em;border-radius:6px;padding:.3rem .75rem;font-size:.72rem;font-weight:700;position:absolute;top:-14px;right:16px;transform:rotate(4deg)}.tier-audience{color:var(--clay-deep);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .3rem;font-size:.8rem;font-weight:700}.tier h3{font-size:1.25rem}.price{margin:.4rem 0 1rem;font-family:Fraunces,serif;font-size:2.4rem;font-weight:700}.price span{color:var(--ink-soft);font-family:Nunito,sans-serif;font-size:.9rem;font-weight:600}.tier ul{border-top:1px dashed var(--line);margin:0 0 1.5rem;padding:0;list-style:none}.tier li{border-bottom:1px dashed var(--line);padding:.55rem 0 .55rem 1.5rem;font-size:.95rem;position:relative}.tier li:before{content:"✦";color:var(--clay-deep);position:absolute;left:0}.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.step{background:var(--paper);border:2px dashed var(--line);border-radius:18px;padding:1.5rem}.step span{background:var(--peach);border-radius:50%;place-items:center;width:38px;height:38px;margin-bottom:.75rem;font-family:Fraunces,serif;font-weight:700;display:inline-grid}.step p{color:var(--ink-soft);margin:0}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px}.page-head{justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem;display:flex}.sample-tag{background:var(--peach);border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:700;transform:rotate(-2deg)}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat{background:var(--espresso);color:var(--linen);border-radius:18px;padding:1.2rem 1.4rem}.stat p{color:var(--peach);margin:0;font-size:.85rem;font-weight:600}.stat strong{font-family:Fraunces,serif;font-size:1.9rem}.pills{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.pill{border:1.5px solid var(--line);background:var(--paper);color:var(--espresso);font:inherit;cursor:pointer;border-radius:999px;padding:.4rem 1rem;font-weight:600}.pill.active{background:var(--espresso);border-color:var(--espresso);color:var(--clay)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);border-bottom:2px dashed var(--line);padding:1rem 1.25rem;font-size:.78rem}.table td{border-bottom:1px solid var(--line);padding:.9rem 1.25rem;font-size:.95rem}.table tr:last-child td{border-bottom:none}.table td a{font-weight:700;text-decoration:none}.table td small{color:var(--ink-soft);display:block}.empty{text-align:center;color:var(--ink-soft)}.badge{text-transform:capitalize;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:700;display:inline-block}.badge-paid{color:#3f5a24;background:#e3eed8}.badge-booked{background:var(--peach);color:var(--espresso)}.badge-pending{color:#5c5646;background:#ece7d8}.back{margin-bottom:1rem;font-weight:700;text-decoration:none;display:inline-block}.detail{padding:2rem}.detail-head{border-bottom:2px dashed var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.25rem;display:flex}.facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin:1.5rem 0 0;display:grid}.facts dt{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.78rem;font-weight:700}.facts dd{margin:.2rem 0 0;font-weight:600}.form{flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.75rem;display:flex}.form h2{font-size:1.3rem}.form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.form input{font:inherit;border:1.5px solid var(--line);color:var(--espresso);background:#fff;border-radius:12px;padding:.7rem .9rem}.form input:focus{border-color:var(--clay);outline:none;box-shadow:0 0 0 3px #d4af374d}.form .btn{align-self:flex-start}.hint{background:var(--cream);border-radius:10px;margin:0;padding:.6rem .9rem;font-size:.9rem}.tier-list{margin:0;padding:0;list-style:none}.tier-list li{border-bottom:1px dashed var(--line);justify-content:space-between;padding:.6rem 0;display:flex}.tier-list small{color:var(--ink-soft);font-weight:400}.tier-list .link-row{align-items:center;gap:1rem}.tier-list .link-row small{word-break:break-all;font-size:.8rem;display:block}.link-row .btn{flex-shrink:0;width:auto;margin-top:0;padding:.4rem 1rem}.btn-block{text-align:center;width:100%;margin-top:auto}.progress{color:var(--ink-soft);gap:1.5rem;margin:.5rem 0 1.5rem;padding:0;font-weight:700;list-style:none;display:flex}.progress li{align-items:center;gap:.5rem;display:flex}.progress span{border:2px dashed var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.85rem;display:inline-grid}.progress .current{color:var(--espresso)}.progress .current span{background:var(--espresso);border:2px solid var(--espresso);color:var(--clay)}.progress .done span{background:var(--peach);border:2px solid var(--peach);color:var(--espresso)}.tier-switch{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem;display:grid}.switch-opt{background:var(--paper);border:2px dashed var(--line);color:var(--espresso);border-radius:16px;flex-direction:column;padding:.8rem 1rem;text-decoration:none;display:flex}.switch-opt span{color:var(--ink-soft);font-size:.9rem}.switch-opt.active{border:2px solid var(--clay);background:var(--cream)}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row-3{grid-template-columns:2fr 1fr 2fr}.form label.has-error input{border-color:#b3402a}.field-error{color:#b3402a;font-size:.82rem;font-weight:600}.form .check,.form .toggle-row{flex-direction:row;align-items:flex-start;gap:.7rem}.form .check input,.form .toggle-row input{width:20px;height:20px;accent-color:var(--clay);flex-shrink:0;margin-top:.15rem}.toggle-row span{flex-direction:column;display:flex}.toggle-row small{color:var(--ink-soft);font-size:.85rem;font-weight:400}.pay-summary{gap:.6rem;margin:0;display:grid}.pay-summary>div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;padding-bottom:.6rem;display:flex}.pay-summary dt{color:var(--ink-soft);font-weight:600}.pay-summary dd{margin:0;font-weight:700}.pay-total dd{font-family:Fraunces,serif;font-size:1.8rem}.pay-links{gap:1.25rem;font-weight:700;display:flex}.pay-links a{text-decoration:none}.booking{background:var(--linen);border:2px dashed var(--line);border-radius:18px;flex-direction:column;gap:.9rem;padding:1.1rem;display:flex}.booking.has-error{border-color:#b3402a}.booking-head{flex-direction:column;gap:.1rem;display:flex}.booking-head .muted{font-size:.82rem;font-weight:400}.booking-weeks{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.booking-week-label{font-family:Fraunces,serif;font-weight:700}.booking-weeks .pill:disabled{opacity:.4;cursor:not-allowed}.booking-days{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.booking-day{font:inherit;background:var(--paper);border:1.5px solid var(--line);cursor:pointer;color:var(--espresso);border-radius:14px;flex-direction:column;align-items:center;gap:.05rem;padding:.55rem .2rem;display:flex}.booking-day span{color:var(--ink-soft);font-size:.8rem}.booking-day small{color:var(--clay-deep);font-size:.72rem;font-weight:700}.booking-day.active{background:var(--espresso);border-color:var(--espresso);color:var(--clay)}.booking-day.active span,.booking-day.active small{color:var(--peach)}.booking-day:disabled{opacity:.45;cursor:not-allowed;border-style:dashed}.booking-slots{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.5rem;display:grid}.slot{font:inherit;background:var(--paper);border:1.5px solid var(--clay);cursor:pointer;color:var(--espresso);border-radius:999px;padding:.5rem .4rem;font-weight:700}.slot:hover:not(:disabled){background:var(--cream)}.slot.selected{background:var(--clay);border-color:var(--clay)}.slot:disabled{border-color:var(--line);color:var(--ink-soft);cursor:not-allowed;border-style:dashed}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.toolbar .pills{margin-bottom:0}.search{font:inherit;border:1.5px solid var(--line);color:var(--espresso);background:#fff;border-radius:999px;min-width:240px;padding:.5rem 1rem}.search:focus{border-color:var(--clay);outline:none;box-shadow:0 0 0 3px #d4af374d}.status-select{font:inherit;text-transform:capitalize;cursor:pointer;border:1.5px solid #0000;border-radius:999px;padding:.25rem .6rem;font-size:.82rem;font-weight:700}.status-select:focus{border-color:var(--espresso);outline:none}.badge-approved{color:var(--clay);background:#111}.badge-completed{color:#333;background:#e4e1d8}.badge-cancelled{color:#7a2e22;background:#eadcd8}.footnote{color:var(--ink-soft);margin-top:.8rem;font-size:.85rem}.status-box{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.status-box>span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.75rem;font-weight:700}.detail-hint{margin-top:1rem}.footer{border-top:2px dashed var(--line);text-align:center;color:var(--ink-soft);padding:1.5rem 0;font-size:.85rem}@media (width<=640px){.topbar-inner{flex-direction:column;gap:.6rem;height:auto;padding:.8rem 1.25rem}h1{font-size:1.8rem}.form-row,.form-row-3,.tier-switch{grid-template-columns:1fr}.search{width:100%}}
