*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf2;color:#332a24;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.site-header{height:76px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fffaf2;position:sticky;top:0;z-index:10;border-bottom:1px solid #f1e4d5}.logo{font-size:20px;font-weight:850;color:#ee6334;text-decoration:none;display:flex;gap:8px;align-items:center}.logo span{font-size:25px}.nav{display:flex;gap:28px;align-items:center}.nav a{color:#59483d;text-decoration:none;font-size:13px;font-weight:650}.nav-cta{background:#ff6b35!important;color:#fff!important;padding:11px 17px;border-radius:10px}.menu-toggle{display:none;border:0;background:none;font-size:22px}.hero{max-width:1180px;margin:0 auto;padding:70px 24px 80px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:850;color:#ef6334}.hero h1{font-size:clamp(48px,7vw,82px);line-height:.94;letter-spacing:-4px;margin:15px 0 24px}.hero h1 em{font-family:Georgia,serif;font-weight:500;color:#ef6334}.hero p{font-size:17px;line-height:1.7;color:#76665b;max-width:520px}.btn{display:inline-flex;gap:14px;align-items:center;justify-content:center;text-decoration:none;border-radius:11px;padding:13px 18px;font-size:13px;font-weight:800;border:1px solid #e7d8ca}.btn.primary{background:#ff6934;color:white;border-color:#ff6934;box-shadow:0 10px 22px #ef67342b}.btn.secondary{background:#fff;color:#e85e30;margin-top:12px}.btn.large{padding:15px 23px}.hero .btn{margin-top:10px}.hero-art{height:430px;border-radius:30px;background:linear-gradient(145deg,#ffd4b5,#ff9b6a);position:relative;overflow:hidden;box-shadow:0 22px 55px #d66c3b2b}.sun{width:220px;height:220px;background:#ffd85c;border-radius:50%;position:absolute;right:35px;top:35px}.blob{position:absolute;border-radius:50%;filter:blur(1px)}.blob-a{width:360px;height:180px;background:#ff6b35;left:-80px;bottom:-30px;transform:rotate(-15deg)}.blob-b{width:270px;height:150px;background:#82b879;right:-70px;bottom:30px;transform:rotate(25deg)}.hero-card{position:absolute;left:35px;top:100px;background:#fff9ef;padding:22px 25px;border-radius:17px;box-shadow:0 15px 30px #8b442a25}.hero-card span{color:#ef6334;font-size:25px}.hero-card strong{display:block;font-size:24px;line-height:1.1;margin-top:8px}.floating-note{position:absolute;right:22px;bottom:22px;background:#fff9efc9;padding:10px 13px;border-radius:9px;font-size:9px;letter-spacing:1.3px;font-weight:800}.section,.type-section{max-width:1180px;margin:0 auto;padding:70px 24px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-head h2,.type-section h2{font-size:38px;letter-spacing:-1.5px;margin:7px 0 0}.section-head a{color:#e85f30;text-decoration:none;font-weight:700;font-size:13px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.event-card{background:#fff;border:1px solid #f0e2d5;border-radius:18px;overflow:hidden;box-shadow:0 8px 25px #d77b3710}.event-image{height:190px;position:relative;overflow:hidden}.event-image.green{background:linear-gradient(135deg,#9bc891,#e7efc5)}.event-image.yellow{background:linear-gradient(135deg,#ffd85c,#ffad65)}.event-image.coral{background:linear-gradient(135deg,#ff9871,#f15f42)}.event-label{position:absolute;top:14px;left:14px;background:#fffdf4dd;color:#7a4d3b;padding:6px 8px;border-radius:7px;text-transform:uppercase;font-size:9px;font-weight:850;letter-spacing:.7px}.abstract-lines{position:absolute;width:230px;height:90px;border:2px solid #fff8;border-radius:50%;right:-45px;bottom:15px;transform:rotate(-15deg);box-shadow:0 0 0 22px #fff2,0 0 0 44px #fff1}.date-badge{position:absolute;right:14px;bottom:14px;width:54px;height:58px;background:#fffaf3;border-radius:10px;display:grid;place-items:center;text-align:center;padding:5px}.date-badge strong{font-size:20px;line-height:1}.date-badge small{font-size:8px;font-weight:850;color:#ef6334}.event-body{padding:18px}.event-body h3{font-size:20px;margin:0 0 10px}.meta{font-size:12px;color:#837369;margin:6px 0}.availability{display:flex;justify-content:space-between;font-size:11px;color:#2f8a52;font-weight:750;margin-top:15px}.progress{height:5px;background:#f0e8df;border-radius:8px;overflow:hidden;margin-top:7px}.progress i{display:block;height:100%;background:#f07a48;border-radius:8px}.type-section{padding-top:20px}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.type-card{background:#fff4e7;border:1px solid #f2dfc8;padding:22px;border-radius:16px;text-decoration:none;color:#382e28}.type-card:nth-child(2){background:#eef5e8}.type-card:nth-child(3){background:#fff0ca}.type-card:nth-child(4){background:#ffe5dc}.type-icon{color:#ef6334;font-size:22px}.type-card h3{margin:12px 0 7px}.type-card p{font-size:12px;color:#7d6d62;line-height:1.5;min-height:36px}.type-card small{color:#e35d31;font-weight:750}.about{max-width:1180px;margin:50px auto 90px;padding:55px 60px;border-radius:25px;background:#f4c95d;display:grid;grid-template-columns:1fr 1fr;gap:50px}.about h2{font-size:40px;line-height:1.05;margin:10px 0}.about p{font-size:17px;line-height:1.8;margin:0;color:#5d4934}.footer{background:#322923;color:#fff3e8;padding:45px max(24px,calc((100% - 1180px)/2));display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer .logo{color:#ff9b6a}.footer p,.footer a,.footer span{display:block;color:#cbb8a9;font-size:12px;margin-top:9px}.footer strong{font-size:12px}.inner-hero{max-width:1180px;margin:auto;padding:70px 24px 45px}.inner-hero h1{font-size:54px;letter-spacing:-2px;margin:12px 0}.inner-hero p{color:#7c6d63}.compact{padding-top:15px}.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-pills a{padding:9px 13px;border-radius:99px;background:#fff;border:1px solid #eaded2;color:#6d5c51;text-decoration:none;font-size:12px;font-weight:700}.filter-pills a.selected{background:#ff6934;color:#fff;border-color:#ff6934}.detail{max-width:1180px;margin:auto;padding:45px 24px 90px}.back{color:#e95e31;text-decoration:none;font-size:13px;font-weight:700}.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;margin-top:25px;align-items:center}.detail-image{height:510px;border-radius:28px;position:relative;overflow:hidden}.detail-image.coral{background:linear-gradient(145deg,#ff9a72,#ef633f)}.hero-symbol{position:absolute;right:45px;top:45px;font-size:120px;color:#fff7}.detail-date{position:absolute;left:30px;bottom:30px;background:#fff9ef;padding:18px 20px;border-radius:14px}.detail-date strong{font-size:48px;display:block;line-height:1}.detail-date span{font-size:10px;font-weight:850;color:#ef6334}.detail-copy h1{font-size:54px;line-height:1.02;letter-spacing:-2px;margin:12px 0 22px}.facts{display:flex;gap:15px;flex-wrap:wrap;color:#66574d;font-size:12px;margin-bottom:24px}.detail-copy>p{color:#77675d;line-height:1.8}.availability-box{display:flex;justify-content:space-between;align-items:center;background:#eef5e8;border-radius:13px;padding:16px;margin:25px 0}.availability-box strong{font-size:28px;color:#318553;display:block}.availability-box span{font-size:11px;color:#5c735f}.capacity{font-size:11px;color:#607064}.soldout{background:#ffe7df;color:#b64c2f;border-radius:11px;padding:14px;font-weight:750}.booking{max-width:980px;margin:auto;padding:65px 24px 90px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.booking-summary{padding-top:35px}.booking-summary h1{font-size:45px;line-height:1.05;letter-spacing:-1.5px}.booking-summary p{color:#77685e;font-size:13px}.mini-note{margin-top:30px;background:#eef5e8;color:#328455;border-radius:13px;padding:16px}.mini-note strong{font-size:28px;display:block}.booking-card{background:#fff;border:1px solid #eddfd2;border-radius:20px;padding:30px;box-shadow:0 15px 45px #d77b3712}.booking-card h2{font-size:30px;margin:8px 0}.booking-card>p{color:#85756a;font-size:13px}.booking-form{display:grid;gap:13px;margin-top:22px}.booking-form label{font-size:11px;font-weight:800;color:#59483e}.booking-form input,.booking-form select{display:block;width:100%;margin-top:6px;padding:13px;border:1px solid #e5d9ce;border-radius:9px;font:inherit;background:#fffdf9}.booking-form .check{font-weight:500;display:flex;gap:8px;align-items:start}.booking-form .check input{width:auto;margin:2px 0}.form-error{background:#ffe8e1;color:#b54b30;padding:11px;border-radius:9px;font-size:12px}.success{max-width:760px;margin:auto;text-align:center;padding:90px 24px}.success-mark{width:70px;height:70px;border-radius:50%;background:#dff0df;color:#328452;display:grid;place-items:center;font-size:34px;margin:0 auto 22px}.success h1{font-size:52px;letter-spacing:-2px;margin:12px 0}.success>p{color:#77675d}.confirmation{margin:30px 0;background:#fff;border:1px solid #eddfd2;border-radius:16px;padding:20px;display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:18px}.confirmation span{display:block;color:#968478;font-size:10px;text-transform:uppercase;letter-spacing:1px}.confirmation strong{display:block;margin-top:5px;font-size:13px}.empty{padding:40px;background:#fff;border-radius:15px;text-align:center;color:#806f63}@media(max-width:850px){.nav{display:none}.menu-toggle{display:block}.menu-open .nav{position:absolute;top:76px;left:0;right:0;background:#fffaf2;padding:15px 24px;display:flex;flex-direction:column;align-items:stretch;border-bottom:1px solid #eadfd4}.menu-open .nav-cta{text-align:center}.hero,.detail-grid,.booking,.about{grid-template-columns:1fr}.hero{padding-top:45px}.hero-art{height:330px}.event-grid{grid-template-columns:1fr 1fr}.type-grid{grid-template-columns:1fr 1fr}.about{padding:35px;margin:30px 24px 60px}.footer{grid-template-columns:1fr 1fr}.detail-copy h1,.success h1{font-size:43px}}@media(max-width:560px){.event-grid,.type-grid,.footer,.confirmation{grid-template-columns:1fr}.section-head{display:block}.section-head>a{display:inline-block;margin-top:10px}.hero h1{font-size:55px}.hero-art{height:280px}.inner-hero h1{font-size:42px}.detail-image{height:370px}.booking{padding-top:35px}.booking-summary h1{font-size:38px}.site-header{padding:0 18px}}
