:root{--ink:#1a1a1a;--gold:#c9a84c;--gold-dark:#9a7930;--ivory:#f5f3ef;--paper:#fff;--muted:#68645f;--line:#ded9cf;--green:#285b45;--serif:"Playfair Display",Georgia,serif;--sans:"Inter",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}.site-head{height:92px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--ink);border-bottom:1px solid rgba(201,168,76,.55)}.brand img{display:block;width:176px;height:auto}.head-link{color:#fff;text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.head-link:after{content:"  →";color:var(--gold)}main{max-width:1280px;margin:auto;padding:clamp(30px,5vw,76px) clamp(18px,4vw,56px) 90px}.intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:clamp(28px,6vw,88px);align-items:end;margin-bottom:clamp(42px,7vw,96px)}.eyebrow{margin:0 0 13px;color:var(--gold-dark);font-size:.72rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.intro h1{max-width:850px;margin:0;font-family:var(--serif);font-size:clamp(2.8rem,6vw,6.4rem);font-weight:400;line-height:.94;letter-spacing:-.04em}.intro h1 em{color:var(--gold-dark);font-weight:400}.lead{max-width:680px;margin:26px 0 25px;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.25rem)}.promise-grid{display:flex;flex-wrap:wrap;gap:9px}.promise-grid span{padding:8px 12px;border:1px solid var(--line);background:rgba(255,255,255,.5);font-size:.76rem;font-weight:600}.event-card{position:relative;padding:28px;background:var(--ink);color:#fff;box-shadow:0 24px 50px rgba(18,18,18,.12)}.event-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gold)}.event-card .event-label{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.event-card h2{margin:8px 0 19px;font:400 2rem/1.05 var(--serif)}.event-facts{display:grid;gap:13px}.event-fact{display:grid;grid-template-columns:22px 1fr;gap:10px;color:#e8e5de;font-size:.88rem}.event-fact b{display:block;color:#fff;font-weight:600}.event-fact i{color:var(--gold);font-style:normal}.ticket-note{margin:21px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);color:#d8d3c9;font-size:.8rem}.skeleton{height:16px;margin:10px 0;background:linear-gradient(90deg,#2c2c2c,#414141,#2c2c2c);background-size:200% 100%;animation:pulse 1.4s infinite}.skeleton.short{width:65%}@keyframes pulse{to{background-position:-200% 0}}.booking-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);background:var(--paper);box-shadow:0 28px 70px rgba(25,25,25,.09)}.booking-main{min-width:0}.booking-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:clamp(24px,4vw,46px);border-bottom:1px solid var(--line)}.booking-head h2{max-width:650px;margin:0;font:400 clamp(1.8rem,3vw,3rem)/1.08 var(--serif)}.progress{display:flex;gap:7px;padding-bottom:6px}.progress span{display:block;width:24px;height:3px;background:#d8d4cc}.progress span.active{background:var(--gold)}.booking-body{padding:clamp(24px,4vw,46px);min-height:430px}.booking-aside{padding:clamp(27px,4vw,47px);background:var(--ink);color:#fff}.booking-aside h2{margin:0 0 30px;font:400 2.2rem/1.06 var(--serif)}.booking-aside ol{margin:0;padding:0;list-style:none;counter-reset:item}.booking-aside li{position:relative;margin:0 0 26px;padding-left:47px;counter-increment:item}.booking-aside li:before{content:"0" counter(item);position:absolute;left:0;top:1px;color:var(--gold);font:400 1rem var(--serif)}.booking-aside li strong,.booking-aside li span{display:block}.booking-aside li strong{font-size:.88rem}.booking-aside li span{margin-top:3px;color:#bbb6ad;font-size:.78rem;line-height:1.5}.role-note{margin:36px 0 0;padding-top:25px;border-top:1px solid rgba(255,255,255,.15);color:#aaa59c;font-size:.72rem}.step-title{margin:0 0 8px;font:400 clamp(1.55rem,3vw,2.3rem)/1.15 var(--serif)}.step-intro{margin:0 0 25px;color:var(--muted);font-size:.9rem}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.advisor,.day-card{width:100%;padding:18px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:.18s}.advisor:hover,.advisor.selected,.day-card:hover,.day-card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.advisor-top{display:flex;align-items:center;gap:13px}.avatar{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;background:var(--ivory);color:var(--gold-dark);font:700 1rem var(--serif)}.avatar img{width:100%;height:100%;object-fit:cover}.advisor b,.advisor small{display:block}.advisor b{font-size:.88rem}.advisor small{color:var(--muted);font-size:.72rem}.advisor .tag{display:inline-block;margin-top:13px;color:var(--green);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.request-box{margin-top:18px;padding:18px;background:var(--ivory)}.request-box p{margin:0 0 11px;font-size:.8rem}.request-options{display:flex;flex-wrap:wrap;gap:9px}.request-chip{display:flex;align-items:center;gap:7px;padding:8px 11px;background:#fff;border:1px solid var(--line);font-size:.75rem}.request-chip input{accent-color:var(--gold-dark)}.day-list{display:grid;gap:15px}.day-card{cursor:default}.day-card h3{margin:0 0 11px;font-size:.86rem}.slots{display:flex;flex-wrap:wrap;gap:7px}.slot{padding:9px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 .75rem var(--sans);cursor:pointer}.slot:hover,.slot.selected{border-color:var(--ink);background:var(--ink);color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;margin:0 0 6px;color:#4e4a45;font-size:.72rem;font-weight:650}.field input,.field select,.field textarea{width:100%;min-height:47px;padding:11px 12px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:400 .88rem var(--sans)}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(201,168,76,.28);border-color:var(--gold-dark)}.check-row{display:flex;align-items:flex-start;gap:9px;margin-top:4px;color:var(--muted);font-size:.72rem}.check-row input{width:18px;min-height:18px;height:18px;flex:0 0 18px;padding:0;margin:3px 0 0;accent-color:var(--gold-dark)}.check-row a{color:inherit}.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.button{min-height:48px;padding:12px 22px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);font:700 .73rem var(--sans);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.button:hover{background:#d4b65f}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{border-color:var(--line);background:#fff;color:var(--muted)}.selection{margin:0 0 23px;padding:13px 15px;background:var(--ivory);font-size:.78rem}.error{margin:16px 0 0;padding:12px;background:#fff0ee;color:#8a2d25;font-size:.78rem}.loading{display:grid;place-items:center;align-content:center;gap:13px;min-height:300px;color:var(--muted);font-size:.82rem}.loading span{width:31px;height:31px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.confirmation{text-align:center;padding:28px 0}.confirmation-mark{width:62px;height:62px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:#e9f3ed;color:var(--green);font-size:1.7rem}.confirmation h3{margin:0 0 10px;font:400 2.2rem/1.1 var(--serif)}.confirmation p{max-width:550px;margin:0 auto 17px;color:var(--muted);font-size:.88rem}.confirmation-card{max-width:520px;margin:25px auto 0;padding:19px;background:var(--ivory);text-align:left;font-size:.78rem}.confirmation-card div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid var(--line)}.confirmation-card div:last-child{border:0}.confirmation-card b{text-align:right}footer{display:flex;justify-content:space-between;gap:20px;padding:25px clamp(20px,5vw,72px);background:var(--ink);color:#aaa59c;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}footer nav{display:flex;gap:20px}footer a{color:inherit;text-decoration:none}
@media(max-width:880px){.intro,.booking-shell{grid-template-columns:1fr}.event-card{max-width:none}.booking-aside{order:-1}.booking-aside ol{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.booking-aside li{padding:28px 0 0}.booking-aside li:before{top:0}.role-note{margin-top:20px}.option-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-head{height:74px;padding:0 18px}.brand img{width:145px}.head-link{font-size:.65rem}.intro{display:block;margin-bottom:36px}.intro h1{font-size:clamp(2.55rem,14vw,4rem);line-height:.98}.lead{margin:20px 0;font-size:.98rem}.promise-grid span{font-size:.68rem}.event-card{margin-top:27px;padding:23px}.event-card h2{font-size:1.7rem}.booking-aside{padding:27px 22px}.booking-aside h2{font-size:1.8rem}.booking-aside ol{display:block}.booking-aside li{padding:0 0 0 43px}.booking-head{align-items:flex-start;padding:25px 20px}.booking-head h2{font-size:1.72rem}.progress{padding-top:8px}.booking-body{padding:25px 20px;min-height:0}.option-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.advisor{padding:15px}.actions{align-items:stretch;flex-direction:column-reverse}.button{width:100%}.slots{gap:8px}.slot{flex:1 0 calc(25% - 8px);text-align:center}.booking-aside .role-note{font-size:.68rem}footer{flex-direction:column;align-items:center;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:600px){
  main{padding:22px 14px 60px}
  .intro h1{font-size:2.35rem;line-height:1}
  .lead{margin:16px 0;font-size:.9rem;line-height:1.55}
  .promise-grid{gap:6px}
  .promise-grid span{padding:6px 8px;font-size:.62rem}
  .event-card{margin-top:20px;padding:18px}
  .event-card h2{margin:6px 0 14px;font-size:1.45rem}
  .event-facts{grid-template-columns:1fr 1fr;gap:10px}
  .event-fact{grid-template-columns:18px 1fr;gap:7px;font-size:.76rem}
  .event-fact:nth-child(3){grid-column:1/-1}
  .ticket-note{margin-top:14px;padding-top:12px;font-size:.71rem;line-height:1.45}
  .booking-aside{order:1}
}
