 /* Workshop CSS START */
 .workshop-hero__bg-img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;

 }

 .workshop-hero__event-link {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     font-size: 13px;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: #5f6b4f;
     text-decoration: none;
     transition: all .3s ease;
 }

 .workshop-hero__event-link::after {
     content: "➜";
     font-size: 14px;
     line-height: 1;
     transition: transform .3s ease;
 }

 .workshop-hero__event-link:hover {
     color: #4b563e;
 }

 .workshop-hero__event-link:hover::after {
     transform: translateX(4px);
 }

 .craft-programmes {
     background: #f8f5f1;
 }

 .craft-programmes__eyebrow {
     font-size: 12px;
     letter-spacing: 3px;
     text-transform: uppercase;
     color: #6d725d;
     font-weight: 700;
 }

 .craft-programmes__title {
     font-size: 52px;
     line-height: 1.1;
     color: #1f1a17;
     font-weight: 500;
 }

 .craft-programmes__intro {
     color: #6f675f;
     max-width: 650px;
     font-size: 15px;
 }

 /* cards */
 .craft-card {
     display: grid;
     grid-template-columns: 1.1fr 1fr;
     background: #fdfbf8;
     border-radius: 28px;
     overflow: hidden;
     box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
     min-height: 340px;
 }

 .craft-card--reverse {
     grid-template-columns: 1fr 1fr;
 }

 .craft-card__image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
 }

 .craft-card__content {
     padding: 60px;
     display: flex;
     flex-direction: column;
     justify-content: center;
     position: relative;
     background: #fbf8f4;
 }

 .craft-card__number {
     font-size: 56px;
     line-height: 1;
     margin-bottom: 18px;
     color: #717455;
     font-weight: 400;
 }

 .craft-card__number--orange {
     color: #56392C;
 }

 .craft-card__title {
     font-size: 42px;
     margin-bottom: 18px;
     color: #1f1a17;
     font-weight: 500;
 }

 .craft-card__text {
     font-size: 17px;
     line-height: 1.9;
     color: #6d675f;
     max-width: 420px;
     margin-bottom: 32px;
 }

 .craft-card__link {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     font-size: 13px;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: #6d725d;
     font-weight: 700;
     text-decoration: none;
 }

 .craft-card__link::after {
     content: "";
     width: 34px;
     height: 2px;
     background: #6d725d;
     display: block;
 }

 .craft-card__link--orange {
     color: #56392C;
 }

 .craft-card__link--orange::after {
     background: #56392C;
 }

 /* responsive */
 @media (max-width: 991px) {

     .craft-card,
     .craft-card--reverse {
         grid-template-columns: 1fr;
     }

     .craft-card__content {
         padding: 40px 30px;
     }

     .craft-programmes__title {
         font-size: 38px;
     }

     .craft-card__title {
         font-size: 32px;
     }

     .craft-card {
         min-height: auto;
     }

     .craft-card__image {
         height: 320px;
     }
 }



 .upcoming-workshops-card {
     background: #dde0d0;
     border-radius: 36px;
     padding: 20px;
 }

 /* LEFT */
 .upcoming-workshops-card__left {
     padding: 40px 24px;
     position: relative;
 }

 .upcoming-workshops-card__eyebrow {
     font-size: 12px;
     letter-spacing: 3px;
     text-transform: uppercase;
     color: #5f654e;
     font-weight: 700;
 }

 .upcoming-workshops-card__title {
     font-size: 58px;
     line-height: 1;
     color: #171512;
     font-weight: 500;
 }

 .upcoming-workshops-card__leaf {
     width: 200px;
     position: absolute;
     bottom: 35px;
     right: 10px;
     opacity: .35;
 }

 /* CENTER */
 .upcoming-workshops-card__inner {
     background: #f8f7f4;
     border-radius: 28px;
     padding: 42px;
     align-items: flex-start;
 }

 .upcoming-workshops-card__icon {
     color: #5f654e;
 }

 .upcoming-workshops-card__coming {
     font-size: 13px;
     letter-spacing: 3px;
     text-transform: uppercase;
     color: #5f654e;
     font-weight: 700;
 }

 .upcoming-workshops-card__text {
     font-size: 17px;
     line-height: 1.9;
     color: #635d57;
     max-width: 420px;
 }

 .upcoming-workshops-card__btn {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     background: #5f654e;
     color: #fff;
     text-decoration: none;
     padding: 16px 26px;
     border-radius: 14px;
     font-size: 12px;
     letter-spacing: 2px;
     text-transform: uppercase;
     font-weight: 700;
     transition: .3s ease;
 }

 .upcoming-workshops-card__btn::after {
     content: "➜";
     font-size: 14px;
 }

 .upcoming-workshops-card__btn:hover {
     background: #4f5641;
     color: #fff;
 }

 /* RIGHT */
 .upcoming-workshops-card__image {
     border-radius: 24px;
     overflow: hidden;
 }

 /* REMOVE COLUMN GAP */
 .upcoming-workshops-card.row {
     --bs-gutter-x: 0;
 }

 /* CENTER BOX */
 .upcoming-workshops-card__inner {
     background: #f8f7f4;
     border-radius: 28px 0 0 28px;
     /* right side remove round */
     padding: 42px;
     align-items: flex-start;
     height: 100%;
 }

 /* IMAGE */
 .upcoming-workshops-card__image {
     border-radius: 0 24px 24px 0;
     /* left radius remove */
     overflow: hidden;
     height: 100%;
     margin-left: -1px;
     /* remove tiny gap */
 }

 .upcoming-workshops-card__image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
 }

 /* MOBILE */
 @media (max-width: 991px) {

     .upcoming-workshops-card__title {
         font-size: 42px;
     }

     .upcoming-workshops-card__inner {
         padding: 32px 24px;
         flex-direction: column;
     }

     .upcoming-workshops-card__image {
         height: 300px;
     }

     .upcoming-workshops-card__leaf {
         display: none;
     }
 }

 .workshop-hero__bg-img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;

 }

 .workshop-hero__event-link {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     font-size: 13px;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: #5f6b4f;
     text-decoration: none;
     transition: all .3s ease;
 }

 .workshop-hero__event-link::after {
     content: "➜";
     font-size: 14px;
     line-height: 1;
     transition: transform .3s ease;
 }

 .workshop-hero__event-link:hover {
     color: #4b563e;
 }

 .workshop-hero__event-link:hover::after {
     transform: translateX(4px);
 }

 .party-hero {
     min-height: 430px;
 }

 /* BACKGROUND IMAGE */

 .party-bg {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 /* OVERLAY */

 .party-hero__overlay {
     position: absolute;
     inset: 0;

     background:
         linear-gradient(90deg,
             rgba(0, 0, 0, .62) 0%,
             rgba(0, 0, 0, .40) 38%,
             rgba(0, 0, 0, .12) 100%);
 }

 .party-hero .container {
     z-index: 2;
     padding-top: 70px;
     padding-bottom: 70px;
 }

 /* LEFT CONTENT */

 .party-hero__eyebrow {
     color: #fff;
     font-size: 12px;
     font-weight: 600;
     letter-spacing: 3px;
     margin-bottom: 16px;
 }

 .party-hero__title {
     color: #fff;
     font-size: 72px;
     line-height: 1;
     font-weight: 600;
     margin-bottom: 24px;
     font-family: "Cormorant Garamond", serif;
 }

 .party-hero__desc {
     color: rgba(255, 255, 255, .92);
     font-size: 17px;
     line-height: 1.8;
     max-width: 560px;
     margin-bottom: 34px;
 }

 /* BUTTONS */

 .btn-enquire {
     background: #6f7f3d;
     border: 1px solid #6f7f3d;
     color: #fff;

     height: 56px;
     padding: 0 34px;
     border-radius: 50px;

     font-size: 14px;
     font-weight: 600;
     letter-spacing: 1px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     text-decoration: none;
     transition: 0.3s ease;
 }

 .btn-enquire:hover {
     background: #5d6c32;
     border-color: #5d6c32;
     color: #fff;
 }

 .btn-view {
     border: 1px solid rgba(255, 255, 255, .65);
     color: #fff;

     height: 56px;
     padding: 0 34px;
     border-radius: 50px;

     font-size: 14px;
     font-weight: 600;
     letter-spacing: 1px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     text-decoration: none;
     transition: 0.3s ease;

     backdrop-filter: blur(3px);
 }

 .btn-view:hover {
     background: #fff;
     color: #000;
 }

 /* RIGHT CARD */

 .party-hero__card {
     position: relative;

     background: rgba(36, 51, 25, 0.78);
     backdrop-filter: blur(10px);

     border-radius: 24px;

     padding: 38px 42px;

     border: 1px solid rgba(255, 255, 255, 0.08);

     overflow: hidden;
 }

 .party-hero__card h4 {
     color: #fff;
     font-size: 30px;
     margin-bottom: 28px;
     font-weight: 600;
     font-family: "Cormorant Garamond", serif;
 }

 .party-hero__card ul {
     padding-left: 0;
     margin-bottom: 0;
 }

 .party-hero__card ul li {
     list-style: none;

     color: rgba(255, 255, 255, .92);

     font-size: 16px;
     line-height: 1.8;

     margin-bottom: 14px;
 }

 /* LEAF IMAGE */

 .party-leaf {
     position: absolute;
     right: 12px;
     bottom: 10px;

     width: 90px;
     opacity: .22;
 }

 /* RESPONSIVE */

 @media(max-width:991px) {

     .party-hero {
         min-height: auto;
     }

     .party-hero__title {
         font-size: 54px;
     }

     .party-hero__card {
         margin-top: 40px;
     }
 }

 @media(max-width:767px) {

     .party-hero {
         text-align: center;
     }

     .party-hero .container {
         padding-top: 90px;
         padding-bottom: 90px;
     }

     .party-hero__title {
         font-size: 42px;
     }

     .party-hero__desc {
         font-size: 15px;
         line-height: 1.7;
     }

     .party-hero__card {
         padding: 30px;
         text-align: left;
     }

     .btn-area {
         justify-content: center;
     }
 }

 .included-title-leaf {

     opacity: .8;
     margin: 0 10px;
     vertical-align: middle;
 }

 .included-img {
     width: 70px;
     height: 70px;
     object-fit: contain;
 }

 .included-note-img {
     width: 48px;
     height: 48px;
     object-fit: contain;
 }

 .included-section {
     background: #fbf8f3;
 }

 .included-eyebrow {
     font-size: 13px;
     letter-spacing: 4px;
     text-transform: uppercase;
     color: #6b7356;
     font-weight: 700;
 }

 .included-title {
     font-size: 52px;
     line-height: 1.1;
     color: #171512;
     font-weight: 500;
 }

 .included-leaf {
     color: #b8b49e;
     font-size: 42px;
     margin: 0 18px;
 }

 .included-subtitle {
     color: #6b655e;
     font-size: 17px;
 }

 .included-card {
     background: #fffdf9;
     border-radius: 16px;
     padding: 34px 30px;
     box-shadow: 0 10px 28px rgba(0, 0, 0, 0.10);
 }

 .included-icon {
     font-size: 38px;
     color: #6b7356;
     margin-bottom: 28px;
 }

 .included-card h3 {
     font-size: 24px;
     color: #171512;
     font-weight: 700;
     margin-bottom: 16px;
 }

 .included-card p {
     font-size: 17px;
     line-height: 1.8;
     color: #5f5a55;
     margin: 0;
 }

 .included-note {
     border: 2px dashed #d8d2c2;
     border-radius: 18px;
     padding: 20px 34px;
     max-width: 760px;
     background: rgba(255, 255, 255, 0.45);
 }

 .included-note-icon {
     font-size: 42px;
     color: #9b9273;
 }

 .included-note p {
     color: #7a736a;
     font-size: 16px;
     line-height: 1.8;
 }

 .included-note strong {
     color: #4d4944;
     font-weight: 600;
 }

 .included-link {
     font-size: 22px;
     letter-spacing: 4px;
     text-transform: uppercase;
     color: #5f654e;
     font-weight: 800;
     text-decoration: none;
 }

 .included-btn {
     background: #5f654e;
     color: #fff;
     text-decoration: none;
     padding: 16px 34px;
     border-radius: 18px;
     text-transform: uppercase;
     letter-spacing: 3px;
     font-weight: 800;
     box-shadow: 0 8px 18px rgba(0, 0, 0, 0.20);
 }

 .included-btn:hover {
     background: #4f5641;
     color: #fff;
 }

 @media(max-width: 991px) {
     .included-title {
         font-size: 38px;
     }

     .included-note {
         max-width: 100%;
     }
 }

 .party-craft-section {
     position: relative;
     overflow: hidden;
 }

 .party-craft-bg {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     z-index: -2;
 }

 .party-craft-eyebrow {
     font-size: 13px;
     letter-spacing: 4px;
     text-transform: uppercase;
     color: #5f654e;
     font-weight: 800;
 }

 .party-craft-title {
     font-size: 52px;
     color: #161412;
     font-weight: 500;
 }

 .party-craft-subtitle {
     font-size: 17px;
     color: #55504a;
 }

 .party-craft-card {
     position: relative;
     height: 330px;
     border-radius: 14px;
     overflow: hidden;
     box-shadow: 0 10px 25px rgba(0, 0, 0, .18);
 }

 .party-craft-card img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .party-craft-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(180deg,
             rgba(0, 0, 0, .20) 0%,
             rgba(0, 0, 0, .35) 45%,
             rgba(0, 0, 0, .68) 100%);
 }

 .party-craft-tags {
     position: absolute;
     top: 18px;
     left: 18px;
     right: 18px;
     display: flex;
     justify-content: space-between;
     gap: 10px;
 }

 .party-craft-tags span {
     background: rgba(255, 255, 255, .45);
     color: #fff;
     padding: 7px 14px;
     border-radius: 30px;
     font-size: 11px;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     font-weight: 800;
     backdrop-filter: blur(6px);
 }

 .party-craft-tags span:last-child {
     background: rgba(43, 60, 46, .85);
 }

 .party-craft-content {
     position: absolute;
     left: 22px;
     right: 22px;
     bottom: 18px;
     color: #fff;
 }

 .party-craft-content h3 {
     font-size: 32px;
     font-weight: 500;
     margin-bottom: 10px;
 }

 .party-craft-content p {
     font-size: 15px;
     line-height: 1.8;
     margin-bottom: 18px;
 }

 .party-craft-btn {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: #fff;
     color: #5f654e;
     padding: 9px 17px;
     border-radius: 30px;
     font-size: 12px;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     font-weight: 800;
     text-decoration: none;
 }

 .party-craft-btn::after {
     content: "➜";
 }

 @media(max-width: 991px) {
     .party-craft-title {
         font-size: 38px;
     }

     .party-craft-card {
         height: 300px;
     }
 }

 .faq-leaf-img {
     opacity: .75;
 }

 .party-enquiry-section {
     padding: 10px 0;
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
     overflow: hidden;
 }

 .party-enquiry-wrap {
     min-height: 460px;
     display: flex;
     align-items: center;
     position: relative;
     overflow: hidden;
     border-radius: 12px;
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
 }

 /* LEFT SIDE */

 .party-left {
     width: 38%;
     padding-left: 70px;
     position: relative;
     min-height: 440px;
     display: flex;
     flex-direction: column;
     justify-content: flex-start;
     padding-top: 36px;
     z-index: 2;
 }

 .party-kicker {
     color: #68774c;
     font-size: 12px;
     font-weight: 800;
     letter-spacing: 3px;
     margin-bottom: 12px;
 }

 .party-left h2 {
     font-family: Georgia, serif;
     font-size: 46px;
     line-height: 1.02;
     color: #1d1c1a;
     font-weight: 600;
     margin-bottom: 16px;
     letter-spacing: -.5px;
 }

 .party-desc {
     font-size: 14px;
     line-height: 1.7;
     color: #4c4941;
     font-weight: 500;
     margin-bottom: 24px;
     max-width: 360px;
 }

 /* INFO BOX */

 .party-info-box {
     width: 330px;
     border-radius: 14px;
     padding: 20px 22px;
     position: relative;
     background: rgba(255, 255, 255, 0.40);
     backdrop-filter: blur(8px);
     border: 1px solid rgba(255, 255, 255, 0.5);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
 }

 .party-info-box h6 {
     font-size: 13px;
     font-weight: 800;
     margin-bottom: 12px;
     color: #2d2a24;
 }

 .party-info-box ul {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .party-info-box li {
     font-size: 12px;
     color: #504d46;
     margin-bottom: 8px;
     padding-left: 22px;
     position: relative;
     font-weight: 500;
     line-height: 1.5;
 }

 .party-info-box li:last-child {
     margin-bottom: 0;
 }

 .party-info-box li:before {
     content: "✓";
     position: absolute;
     left: 0;
     top: 0;
     color: #73824f;
     font-weight: 900;
 }

 .info-leaf {
     position: absolute;
     right: -28px;
     bottom: -24px;
     width: 110px;
     opacity: .75;
 }

 .thread-img {
     position: absolute;
     left: -10px;
     bottom: 0;
     width: 210px;
 }

 /* RIGHT SIDE */

 .party-right {
     width: 62%;
     padding: 30px 55px 30px 0;
     position: relative;
     z-index: 2;
 }

 /* FORM */

 .party-form {
     background: rgba(255, 255, 255, 0.97);
     border-radius: 16px;
     padding: 26px;
     box-shadow:
         0 10px 35px rgba(0, 0, 0, 0.07),
         0 2px 8px rgba(0, 0, 0, 0.03);
     border: 1px solid rgba(255, 255, 255, 0.7);
     backdrop-filter: blur(10px);
 }

 .party-form label {
     font-size: 12px;
     font-weight: 700;
     color: #2c2924;
     margin-bottom: 7px;
     display: block;
 }

 .party-form .form-control,
 .party-form .form-select {
     height: 48px;
     border-radius: 12px;
     border: 1px solid #e5dfd5;
     background: #fcfbf8;
     font-size: 13px;
     color: #5c5850;
     padding: 0 16px;
     transition: all .25s ease;
     box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03);
 }

 .party-form textarea.form-control {
     height: 95px;
     resize: none;
     padding-top: 14px;
 }

 .party-form .form-control::placeholder,
 .party-form textarea::placeholder {
     color: #aaa398;
     font-size: 12px;
 }

 .party-form .form-control:focus,
 .party-form .form-select:focus {
     border-color: #617d3d;
     background: #fff;
     box-shadow:
         0 0 0 4px rgba(97, 125, 61, 0.10),
         inset 0 2px 4px rgba(0, 0, 0, 0.03);
 }

 /* BUTTON */

 .party-btn {
     min-width: 190px;
     height: 50px;
     border: none;
     border-radius: 60px;
     background: linear-gradient(135deg, #5d7d37 0%, #466227 100%);
     color: #fff;
     font-size: 12px;
     font-weight: 800;
     letter-spacing: 2px;
     transition: all .3s ease;
     box-shadow:
         0 8px 18px rgba(74, 102, 39, 0.20),
         inset 0 -2px 0 rgba(0, 0, 0, 0.08);
 }

 .party-btn:hover {
     transform: translateY(-2px);
     box-shadow:
         0 12px 22px rgba(74, 102, 39, 0.25),
         inset 0 -2px 0 rgba(0, 0, 0, 0.08);
 }

 /* NOTE */

 .reply-note {
     text-align: center;
     font-size: 11px;
     color: #69645d;
     font-weight: 500;
     margin-top: 14px;
     margin-bottom: 0;
     line-height: 1.6;
 }

 /* RESPONSIVE */

 @media(max-width:1199px) {

     .party-left {
         padding-left: 50px;
     }

     .party-left h2 {
         font-size: 40px;
     }

     .party-right {
         padding-right: 35px;
     }
 }

 @media(max-width:991px) {

     .party-enquiry-wrap {
         flex-direction: column;
         padding: 30px 18px;
     }

     .party-left,
     .party-right {
         width: 100%;
         padding: 0;
     }

     .party-left {
         min-height: auto;
         margin-bottom: 30px;
     }

     .party-left h2 {
         font-size: 36px;
     }

     .party-info-box {
         width: 100%;
     }

     .thread-img {
         display: none;
     }

     .party-form {
         padding: 22px;
     }
 }

 @media(max-width:575px) {

     .party-left h2 {
         font-size: 32px;
     }

     .party-form {
         padding: 18px;
     }

     .party-btn {
         width: 100%;
     }
 }