/*1.FONTS*/
@font-face{font-family:'MontserratFallback';src:local('Arial');font-display:swap;size-adjust:105%;ascent-override:90%;line-gap-override:0%;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;src:url("/fonts/montserrat-latin-400.woff2") format("woff2");font-display:swap;size-adjust:105%;ascent-override:90%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;src:url("/fonts/montserrat-latin-600.woff2") format("woff2");font-display:swap;size-adjust:105%;ascent-override:90%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/*2.CUSTOM PROPERTIES & RESET*/
:root{
  --navbar-height:80px;
  --primary-color:#561b8a;
  --primary:#561b8a;
  --primary-dark:#3d1260;
  --primary-light:#7b4cc5;
  --accent-color:#ffcc00;
  --accent:#f8f9ff;
  --gradient:linear-gradient(135deg,#561b8a,#3d1260);
  --text-dark:#222;
  --text:#2d3748;
  --text-muted:#595959;
  --text-light:#fff;
  --bg:#fff;
  --bg-gray:#f9f9f9;
  --radius:16px;
  --radius-lg:24px;
  --container-width:1400px;
  --anim:.3s cubic-bezier(.165,.84,.44,1);
  --transition:transform .3s ease,opacity .3s ease;
  --shadow-sm:0 4px 12px rgba(0,0,0,.08);
  --shadow-md:0 5px 15px rgba(0,0,0,.1);
  --shadow-lg:0 8px 20px rgba(0,0,0,.18);
}
*,::before,::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;}
body{font-family:'Montserrat','MontserratFallback',Arial,sans-serif;color:var(--text-dark);background-color:#fff;line-height:1.6;}
img{max-width:100%;height:auto;display:block;}
button,a{touch-action:manipulation;}
.noscroll{overflow:hidden;}
.error-section {min-height: calc(100svh - 80px);display: flex;align-items: center;justify-content: center;text-align: center;padding: 40px 20px;}.error-container {max-width: 600px;}.error-code {font-size: clamp(4rem, 15vw, 8rem);font-weight: 600;color: var(--primary-color);line-height: 1;margin-bottom: 10px;}.error-title {font-size: clamp(1.2rem, 3vw, 1.8rem);font-weight: 600;color: var(--text-dark);margin-bottom: 20px;}.error-desc {font-size: 1rem;color: #595959;line-height: 1.8;margin-bottom: 30px;}.error-actions {display: flex;flex-wrap: wrap;gap: 15px;justify-content: center;}.error-contact {margin-top: 40px;padding: 20px;background: #f9f9f9;border-radius: 12px;}.error-contact-title {font-size: 0.9rem;color: #595959;margin-bottom: 10px;}.error-contact-link {display: inline-block;margin: 5px 10px;color: var(--primary-color);font-weight: 600;text-decoration: none;}

/*3.LAYOUT UTILITIES*/
.container-custom,.footer-ctn,.nav-content{width:100%;max-width:var(--container-width);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;word-wrap:break-word;}

/*4.SKIP LINK*/
.skip-link{position:absolute;top:-100%;left:0;padding:10px 20px;background:var(--primary-color);color:#fff;font-weight:600;z-index:9999;border-radius:0 0 8px 0;text-decoration:none;transition:top .2s;}
.skip-link:focus{top:0;}

/*5.NAVIGATION*/
.navbar-container{width:100%;background-color:var(--primary-color);position:-webkit-sticky;position:sticky;top:0;height:var(--navbar-height);left:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1);}
.nav-content{display:flex;justify-content:space-between;align-items:center;padding:.5rem 20px;min-height:80px;}
.logo{display:flex;align-items:center;}
.logo img{width:248px;height:62px;aspect-ratio:248 / 62;display:block;object-fit:contain;transition:transform .3s ease;}
.logo img:hover{transform:scale(1.05);}
.nav-links ul{margin:0;padding:0;list-style:none;display:flex;gap:.5rem;}
.nav-links ul li a{color:#fff;font-size:1.1rem;font-weight:600;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;padding:.8rem .6rem;min-height:48px;transition:transform .3s ease,color .3s ease;}
.nav-links ul li a:hover{transform:scale(1.05);color:var(--accent-color);}
.nav-links ul li a[aria-current="page"]{color:var(--accent-color);border-bottom:2px solid var(--accent-color);padding-bottom:calc(.8rem - 2px);}
.menu-btn,.close-btn{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;min-height:48px;min-width:48px;}
.menu-btn:focus,.close-btn:focus{outline:2px solid #fff;outline-offset:2px;}
.sr-only1 {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);border: 0;}

/*6.HERO SECTION (home)*/
.home-header{width:100%;height:calc(100svh - var(--navbar-height));position:relative;display:grid;place-items:center;overflow:hidden;background:#1a1a2e;}
.home-header::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.55));pointer-events:none;z-index:1;}
.home-header > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0;}
.text-box-1{position:relative;text-align:center;max-width:900px;width:100%;margin:0 auto;padding:0 20px;z-index:2;}
.hero-title{font-weight:600;font-size:clamp(2rem,5vw,3rem);line-height:1.2;letter-spacing:-0.015em;color:var(--text-light);max-width:820px;margin:0 auto 1.5rem;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.25);}
.hero-title .highlight{background:linear-gradient(90deg,#fff,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/*7.BUTTONS*/
.hero-btn,.about-ctn,.btn-details{display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase;text-decoration:none;border-radius:50px;border:2px solid transparent;transition:transform var(--anim),box-shadow .3s ease,background-color .3s ease,color .3s ease;}
.hero-btn{font-size:clamp(12px,1.4vw,15px);letter-spacing:.08em;padding:clamp(10px,1.5vw,14px) clamp(20px,4vw,45px);background:var(--accent-color);color:#000;box-shadow:var(--shadow-lg),0 2px 6px rgba(0,0,0,.15);}
.hero-btn:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.18);filter:brightness(1.06);}
.about-ctn{background:var(--primary-color);color:#fff;padding:12px 30px;font-size:14px;letter-spacing:1px;}
.about-ctn:hover{background:#fc0;color:var(--primary-color) !important;transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.2);}
.btn-details{min-width:120px;min-height:48px;padding:0 30px;background:#fff;color:var(--primary-color);font-size:.9rem;letter-spacing:1px;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.12);}
.btn-details:hover{background:var(--accent-color);color:#000;transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.25);}
.hero-btn:active,.about-ctn:active,.btn-details:active{transform:translateY(-1px);}
.hero-btn:focus-visible,.about-ctn:focus-visible,.btn-details:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px;}

/*8.ABOUT SECTION — HOME*/
.about-section{scroll-margin-top:var(--navbar-height);background-color:#f2f2f2;display:flex;flex-direction:column;align-items:center;position:relative;padding:30px 0;content-visibility:auto;contain-intrinsic-size:auto 663px;}
.section-title{color:var(--primary-color);font-size:clamp(1.4rem,4vw,2.6rem);font-weight:600;text-align:center;margin-bottom:clamp(25px,4vw,45px);letter-spacing:.5px;text-transform:uppercase;padding-bottom:.5rem;}
.content-wrapper{display:flex;flex-wrap:wrap;gap:30px;align-items:stretch;}
.text-content{flex:1.8;min-width:320px;display:flex;flex-direction:column;justify-content:flex-start;}
.about-description h3{color:var(--primary-color);font-size:clamp(1.1rem,2.2vw,1.25rem);font-weight:600;margin:0 0 10px;line-height:1.4;text-transform:uppercase;letter-spacing:.5px;}
.about-description p{font-size:clamp(14px,1.2vw,16px);text-align:justify;line-height:1.8;margin-bottom:20px;color:#424242;}
.about-description p a{color:var(--primary-color);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s;}
.about-description p a:hover{border-bottom-color:var(--primary-color);}
.image-gallery{flex:1;min-width:300px;display:flex;align-items:flex-start;}
.image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;}
.image-grid img{width:100%;max-width:400px;object-fit:cover;border-radius:12px;box-shadow:var(--shadow-md);transition:transform .3s ease;}
.image-grid img:hover{transform:scale(1.03);}
.cta-area{margin-top:20px;}
.eeat-wrap {margin: 1.75rem 0;padding: 1.25rem 1.5rem;border: 1px solid #e8e0f0;border-left: 4px solid #561b8a;border-radius: 10px;background: #faf8fd;display: flex;flex-direction: column;gap: 1rem;}
.eeat-author {display: flex;align-items: flex-start;gap: 0.85rem;flex-wrap: wrap;}
.eeat-author__avatar-initials {flex-shrink: 0;width: 44px;height: 44px;border-radius: 50%;background: #561b8a;color: #fff;font-weight: 700;font-size: 0.95rem;display: flex;align-items: center;justify-content: center;letter-spacing: 0.03em;}
.eeat-author__body {display: flex;flex-direction: column;gap: 0.1rem;flex: 1;min-width: 160px;}.eeat-author__by {font-size: 0.72rem;color: #595959;text-transform: uppercase;letter-spacing: 0.06em;}.eeat-author__name {font-size: 0.95rem;font-weight: 700;color: #561b8a;text-decoration: none;}
.eeat-author__name:hover {text-decoration: underline;}
.eeat-author__role {font-size: 0.78rem;color: #444;line-height: 1.4;}.eeat-dates {display: flex;flex-direction: column;gap: 0.2rem;margin-left: auto;text-align: right;}
.eeat-dates time {display: flex;align-items: center;justify-content: flex-end;gap: 0.3rem;font-size: 0.75rem;color: #595959;}
.eeat-dates__label {color: #595959;}.eeat-dates__val {font-weight: 600;color: #333;}
.eeat-trust {list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 0.5rem 1rem;padding-top: 0.75rem;border-top: 1px solid #ede6f7;}
.eeat-trust__item {display: flex;align-items: center;gap: 0.4rem;font-size: 0.8rem;color: #333;}
.eeat-trust__icon {color: #561b8a;display: flex;align-items: center;flex-shrink: 0;}.eeat-trust__text strong {color: #2d0a50;}
.eeat-expertise {margin-top: 1rem;padding-top: 0.85rem;border-top: 1px solid #ede6f7;}.eeat-expertise__label {font-size: 0.8rem;font-weight: 700;color: var(--primary-color);text-transform: uppercase;letter-spacing: 0.06em;margin: 0 0 8px;}.eeat-expertise__list {list-style: none;margin: 0 0 10px;padding: 0;display: flex;flex-direction: column;gap: 5px;}.eeat-expertise__list li {font-size: 0.82rem;color: #444;display: flex;align-items: baseline;gap: 8px;line-height: 1.5;}.eeat-expertise__list li::before {content: "▸";color: var(--primary-color);font-weight: 700;flex-shrink: 0;font-size: 0.7rem;}.eeat-expertise__link {display: inline-flex;align-items: center;gap: 4px;font-size: 0.82rem;font-weight: 700;color: var(--primary-color);text-decoration: none;border-bottom: 1px solid transparent;transition: border-color 0.3s;}.eeat-expertise__link:hover {border-bottom-color: var(--primary-color);}@media (max-width: 600px) {.eeat-expertise {padding-top: 0.7rem;}.eeat-expertise__list li {font-size: 0.79rem;}}

/*9.ABOUT US PAGE*/
.about{background-color:#f2f2f2;display:flex;flex-direction:column;align-items:center;position:relative;padding:30px 0;}
.about.container-custom{align-items:stretch;}
.about h1,.about-img,.about-isi{width:90%;max-width:1140px;margin-left:auto;margin-right:auto;}
.about h1{color:var(--primary-color);font-size:clamp(1.25rem,6vw,3rem);font-weight:600;margin-bottom:clamp(15px,2.5vw,30px);line-height:1.2;text-align:center;}
.about-img{aspect-ratio:1140 / 683;background:#e0e0e0;overflow:hidden;border-radius:12px;}
.img-about{display:block;width:100%;height:100%;object-fit:cover;}
.about-isi{color:#333;line-height:1.8;margin-top:30px;}
.about-isi p{font-size:clamp(14px,1.2vw,16px);text-align:justify;text-justify:inter-word;margin-bottom:20px;color:#424242;}
.visi-misi-section{margin-top:50px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;width:100%;}
.about-feature-box{position:relative;padding:25px;border-left:6px solid #fc0;background-color:#fff;border-radius:0 12px 12px 0;box-shadow:0 4px 15px rgba(0,0,0,.05);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),border-color .3s;}
.about-feature-box:hover{transform:translateX(10px);border-left-color:var(--primary-color);}
.about-feature-box h2{color:var(--primary-color);font-size:clamp(1.1rem,2.2vw,1.25rem);font-weight:600;margin-bottom:12px;text-transform:uppercase;}
.about-feature-box p{font-size:clamp(.9rem,1vw,1rem);line-height:1.6;color:#555;font-style:italic;margin:0;text-align:left !important;}

/*10.PRODUCT SECTION — card grid*/
.product{background-color:var(--bg-gray);padding:30px 0;}
.product-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;}
.product-card{position:relative;width:100%;height:520px;perspective:1200px;-webkit-perspective:1200px;display:block;}
.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1);-webkit-transition:-webkit-transform .6s cubic-bezier(.23,1,.32,1);}
.card-front,.card-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:15px;display:flex;flex-direction:column;overflow:hidden;}
.card-front{background:var(--text-light);box-shadow:var(--shadow-sm);transform:translateZ(0);-webkit-transform:translateZ(0);}
.product-img{width:100%;height:280px;display:flex;align-items:center;justify-content:center;background:#fdfdfd;overflow:hidden;}
.product-img img{width:100%;height:100%;object-fit:contain;}
.product-info{padding:20px;text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;}
.product-info h3{font-size:1.1rem;color:var(--primary-color);margin-bottom:8px;font-weight:600;}
.product-duration{font-size:12px;color:var(--text-muted);margin-bottom:6px;letter-spacing:.3px;}
.product-desc{font-size:13px;color:#666;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.card-back{background-color:var(--primary-color);color:var(--text-light);transform:rotateY(180deg);-webkit-transform:rotateY(180deg);align-items:center;justify-content:center;padding:30px;text-align:center;}
.product-card:hover .card-inner,.product-card:focus .card-inner,.product-card:focus-within .card-inner{will-change:transform;transform:rotateY(-180deg);-webkit-transform:rotateY(-180deg);}
.product-card.is-flipped .card-inner{transform:rotateY(-180deg);-webkit-transform:rotateY(-180deg);}
.product-card:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;border-radius:15px;}
.price-tag span{display:block;font-size:clamp(1.15rem,1.2vw + .8rem,1.35rem);letter-spacing:1px;margin-bottom:5px;text-transform:uppercase;}
.price-tag .price-amount{display:block;font-size:clamp(2.2rem,5vw,2.5rem);font-weight:600;color:var(--accent-color);letter-spacing:-1px;line-height:1.1;margin:5px 0 20px;text-shadow:2px 2px 4px rgba(0,0,0,.2);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}

/*11.PRODUCT DETAIL PAGE*/
.product-page{scroll-margin-top:var(--navbar-height);}
.product-page h1{text-align:center;color:var(--primary-color);font-size:clamp(1.375rem,4vw + .5rem,2.5rem);padding:20px 20px 0;margin:0 auto 30px;font-weight:600;line-height:1.2;letter-spacing:-0.02em;max-width:900px;}
.product-ctn-page{display:flex;gap:50px;padding:0 20px 80px;align-items:flex-start;}
.product-img-page{flex:1;position:sticky;top:calc(var(--navbar-height) + 20px);background:var(--bg-gray);border-radius:20px;padding:30px;display:flex;justify-content:center;border:1px solid #eee;}
.product-img-page img{max-width:100%;height:auto;border-radius:10px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.1));}
.product-detail-page{flex:2;}
.product-detail-page h2{color:var(--primary-color);font-size:clamp(1.2rem,2.5vw + .4rem,1.85rem);font-weight:600;line-height:1.3;margin-bottom:20px;letter-spacing:-0.01em;}
.product-detail-page p{margin-bottom:20px;color:var(--text-muted);text-align:justify;text-justify:inter-word;}
.product-detail-page strong{color:var(--primary-color);}
.product-detail-page ol,.product-detail-page ul{margin-bottom:25px;padding-left:20px;}
.product-detail-page li{margin-bottom:10px;color:var(--text-muted);}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:8px;}
.spec{padding:10px;border:1px solid #eef2ff;border-radius:8px;background:#fff;transition:transform .2s ease,box-shadow .2s ease;}
.spec:hover{border-color:var(--primary-color) !important;transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.05);}
.service-area{margin-top:30px;padding-top:20px;border-top:1px solid #eaeaea;}
.spec-desc{margin:6px 0 0}

/*12.RELATED ARTICLES BOX*/
.related-wrapper{margin-top:40px;display:flex;flex-direction:column;gap:12px;}
.related-box{padding:24px 28px;background:#f8f6ff;border-left:5px solid var(--primary-color);border-radius:0 14px 14px 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.related-icon{font-size:36px;flex-shrink:0;}
.related-content{flex:1;min-width:200px;}
.related-label{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--primary-color);margin-bottom:6px;}
.related-title{font-size:1.05rem;font-weight:700;color:#1a1a2e;text-decoration:none;line-height:1.4;display:block;margin-bottom:6px;}
.related-desc{font-size:14px;color:#666;margin:0;line-height:1.5;}
.related-btn{flex-shrink:0;background:var(--primary-color);color:#fff;font-family:Arial,sans-serif;font-size:13px;font-weight:700;padding:10px 20px;border-radius:50px;text-decoration:none;white-space:nowrap;transition:background .2s ease;}
.related-btn:hover{background:#4a1d7d;}

/*13.EVENT PAGE*/
.event-header{position:relative;width:100%;min-height:calc(100svh - var(--navbar-height));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;isolation:isolate;background-color:#222;}
.event-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none;}
.event-header::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,.6));z-index:-1;}
.text-box-2{position:relative;z-index:2;max-width:900px;padding:0 20px;margin:0 auto;}
.text-box-2 h1{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:600;line-height:1.2;margin-bottom:15px;text-transform:uppercase;text-wrap:balance;}
.text-box-2 p{font-size:clamp(1rem,2vw,1.2rem);opacity:.9;text-wrap:pretty;}
.event-gallery{padding:60px 0;background-color:var(--bg-gray);content-visibility:auto;contain-intrinsic-size:100% 640px;}
.swiper-slide{display:flex;justify-content:center;align-items:center;background:#000;}
.swiper-slide img{width:100%;height:100%;object-fit:contain;}
.swiper-pagination-bullet{width:12px;height:12px;display:inline-block;padding:0;margin:0 12px !important;border:18px solid transparent;background-clip:padding-box;background-color:#000;opacity:.5;cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s ease;}
.swiper-pagination-bullet-active{opacity:1;background-color:var(--primary-color);transform:scale(1.2);}
.swiper-pagination-bullet:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px;}

/*14.CONTACT PAGE*/
.contact.container-custom{color:#333;text-align:center;padding-top:30px;padding-bottom:30px;}
.contact-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;max-width:1100px;margin:0 auto 50px;justify-content:center;}
.contact-feature-box{background:#fff;padding:1.25rem;border-left:5px solid #fc0;border-radius:0 12px 12px 0;border-top:1px solid #eee;border-right:1px solid #eee;border-bottom:1px solid #eee;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.contact-feature-box:hover{transform:translateX(8px);border-left-color:var(--primary-color);box-shadow:0 6px 14px rgba(0,0,0,.08);}
.contact-feature-box h2{color:var(--primary-color);font-size:1.2rem;font-weight:600;margin-bottom:1rem;letter-spacing:.3px;text-transform:uppercase;text-align:left;}
.contact-feature-box p{font-size:1rem;color:#555;margin:.5rem 0;display:flex;align-items:center;gap:.6rem;line-height:1.5;justify-content:flex-start;}
.contact-feature-box i{color:var(--primary-color);font-size:1.1rem;width:22px;flex-shrink:0;}
.contact-link{text-decoration:none;color:var(--primary-color);}
.contact-link:hover,.contact-link:focus{text-decoration:underline;}
.map-responsive-box{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#e8e8e8;}
.map-responsive-box .map-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;background:rgba(86,27,138,.9);color:#fff;font-size:.85rem;line-height:1.2;border-radius:6px;white-space:nowrap;pointer-events:none;}
.map-responsive-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.map-clickable{cursor:pointer;}
.map-responsive-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}

/*15.FAB (Floating Action Buttons)*/
.fab-container{position:fixed;bottom:25px;display:flex;flex-direction:column-reverse;align-items:center;gap:15px;z-index:1200;contain:layout;}
.fab-container.left{left:35px;align-items:flex-start;}
.fab-container.right{right:35px;align-items:flex-end;}
.fab,.secondary-fab{width:60px;height:60px;display:flex;align-items:center;justify-content:center;position:relative;background:none;border:none;cursor:pointer;transition:transform .25s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;}
.fab__icon{display:block;width:58px;height:58px;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));pointer-events:none;}
.fab--wa .fab__icon{background-image:url('/images/whatsapp.webp');}
.fab--phone .fab__icon{background-image:url('/images/phone.webp');}
.secondary-fab{position:absolute;bottom:0;opacity:0;visibility:hidden;transform:translateY(10px) scale(.9);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .2s ease;}
.show-fabs .secondary-fab:nth-child(2){transform:translateY(-75px) scale(1);opacity:1;visibility:visible;}
.show-fabs .secondary-fab:nth-child(3){transform:translateY(-145px) scale(1);opacity:1;visibility:visible;}
.phone-number{position:absolute;background:#f1b82d;color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.1);pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;}
.fab-container.left .phone-number{left:70px;transform:translateX(-10px);}
.fab-container.right .phone-number{right:70px;transform:translateX(10px);}
.fab:hover .phone-number,.secondary-fab:hover .phone-number{opacity:1;transform:translateX(0);}
.fab:active,.secondary-fab:active{transform:scale(.95);}

/*16.FOOTER*/
footer{background-color:var(--primary-color);color:var(--text-light);width:100%;border-top:1px solid rgba(255,255,255,.08);font-size:15px;contain:layout;}
.footer-ctn{max-width:var(--container-width);margin:0 auto;padding:20px;}
.footer-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;}
.footer-col{background-color:var(--primary-color);}
.footer-heading{font-size:1rem;color:#ffd740;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:25px;position:relative;display:inline-block;}
.footer-heading::after{content:"";position:absolute;bottom:-8px;left:0;width:36px;height:2px;background:#ffd740;}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;}
footer a{color:#fff;text-decoration:none;font-size:14.5px;display:inline-flex;align-items:center;gap:10px;transition:var(--transition),color .3s ease;min-height:44px;padding:2px 0;}
footer a:hover{color:var(--accent-color);transform:translateX(5px);}
footer p,footer address{font-size:14.5px;line-height:1.8;color:var(--text-light);text-align:left;margin-bottom:15px;}
.footer-contact-links{margin-top:15px;display:flex;flex-direction:column;gap:8px;}
.footer-contact-links a{border:none;min-height:auto;}
.footer-links{margin-top:15px;font-size:13px;color:rgba(255,255,255,.8);}
.footer-links a{color:#fff;min-height:auto;display:inline;font-size:13px;}
.office-hours{margin-top:15px;}
.footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);text-align:center;color:rgba(255,255,255,.8);font-size:14px;}
.footer-bottom a{color:#fff;text-decoration:underline;margin:0 10px;transition:opacity .3s;}
.footer-bottom a:hover{opacity:.8;color:#ffd700;}
.copyright-bar{border-top:1px solid rgba(255,255,255,.08);padding:15px 20px;text-align:center;font-size:13px;background:#111;color:#eee;}
.image-grid img,.contact-feature-box{box-shadow:var(--shadow-sm);}
.footer-social-list {list-style: none;padding: 0;margin: 12px 0 0;display: flex;flex-direction: column;gap: 6px;}.footer-social-list li a {display: inline-flex;align-items: center;gap: 8px;color: #ffffff;font-size: 14px;text-decoration: none;padding: 4px 0;min-height: 36px;transition: color 0.3s ease, transform 0.2s ease;}.footer-social-list li a:hover {color: var(--accent-color);transform: translateX(4px);}.footer-social-list svg {flex-shrink: 0;}.footer-author-box {margin-top: 16px;padding: 12px 14px;background: rgba(255, 255, 255, 0.1);border-left: 3px solid var(--accent-color);border-radius: 0 8px 8px 0;}.footer-author-label {font-size: 11px;text-transform: uppercase;letter-spacing: 0.08em;color: rgba(255, 255, 255, 0.85);margin: 0 0 4px;font-weight: 600;}.footer-author-name {font-size: 15px;font-weight: 700;color: #ffffff;margin: 0 0 2px;}.footer-author-role {font-size: 12px;color: rgba(255, 255, 255, 0.9);margin: 0;line-height: 1.5;}@media (max-width: 480px) {.footer-social-list li a {font-size: 14px;}.footer-author-box {padding: 10px 12px;}}
.mt-18 { margin-top: 18px; }
/*17. additions.css*/
.social-links {margin: 1.5rem 0;}.social-links h3 {color: var(--primary-color);font-size: clamp(1.1rem, 2.2vw, 1.25rem);font-weight: 600;margin: 0 0 8px;text-transform: uppercase;letter-spacing: .5px;}.social-links p {font-size: clamp(14px, 1.2vw, 16px);margin-bottom: 12px;color: #424242;}.social-list {list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 8px;}.social-list li a {display: inline-flex;align-items: center;gap: 8px;color: var(--primary-color);font-weight: 600;font-size: 0.95rem;text-decoration: none;padding: 6px 0;transition: color 0.3s ease, transform 0.2s ease;min-height: 44px;}.social-list li a:hover {color: var(--primary-dark);transform: translateX(4px);}.social-list li a svg {flex-shrink: 0;}.faq-section {background-color: #fff;padding: 40px 0 50px;}.faq-list {max-width: 860px;margin: 0 auto;display: flex;flex-direction: column;gap: 12px;}.faq-item {border: 1px solid #e8e0f0;border-left: 4px solid var(--primary-color);border-radius: 0 10px 10px 0;background: #faf8fd;overflow: hidden;}.faq-item[open] {background: #f3eeff;}.faq-question {display: flex;justify-content: space-between;align-items: center;padding: 16px 20px;font-size: clamp(15px, 1.2vw, 17px);font-weight: 600;color: #1a1a2e;cursor: pointer;list-style: none;line-height: 1.4;gap: 12px;}.faq-question::-webkit-details-marker {display: none;}.faq-question::after {content: "+";font-size: 1.4rem;font-weight: 300;color: var(--primary-color);flex-shrink: 0;transition: transform 0.3s ease;}.faq-item[open] .faq-question::after {transform: rotate(45deg);}.faq-answer {padding: 0 20px 16px;border-top: 1px solid #ede6f7;}.faq-answer p {margin: 12px 0 0;font-size: clamp(14px, 1.1vw, 15px);color: #424242;line-height: 1.7;}.faq-answer p a {color: var(--primary-color);font-weight: 600;text-decoration: none;border-bottom: 1px solid transparent;transition: border-color 0.3s;}.faq-answer p a:hover {border-bottom-color: var(--primary-color);}.author-expertise-box {margin: 1.5rem 0;padding: 1.25rem 1.5rem;background: linear-gradient(135deg, #f8f5ff, #fff);border: 1px solid #ddd3f0;border-radius: 12px;}.author-expertise-box h4 {color: var(--primary-color);font-size: 0.95rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;margin: 0 0 10px;}.author-expertise-box ul {margin: 0;padding: 0;list-style: none;display: flex;flex-direction: column;gap: 6px;}.author-expertise-box li {font-size: 0.88rem;color: #444;display: flex;align-items: baseline;gap: 8px;line-height: 1.5;}.author-expertise-box li::before {content: "✓";color: var(--primary-color);font-weight: 700;flex-shrink: 0;}@media (max-width: 600px) {.social-list {gap: 4px;}.faq-question {padding: 14px 16px;}}

/*18.RESPONSIVE — BREAKPOINTS*/
@media (min-width:1280px){
  .about,.contact,.product-page{padding-bottom:60px;scroll-margin-top:100px;}
  .contact-row{display:flex;gap:40px;margin-top:40px;}
}
@media (max-width:1024px){
  .product-wrapper{grid-template-columns:repeat(2,1fr);gap:20px;padding:0 30px;}
  .content-wrapper{flex-direction:column;margin:0 5%;gap:30px;}
  .image-gallery,.text-content{width:100%;min-width:0;}
  .contact-row{grid-template-columns:1fr;padding:40px 0;}
  .footer-row{grid-template-columns:repeat(2,1fr);gap:40px;}
  .menu-btn{display:block;}
  .nav-links{position:fixed;top:0;right:0;width:250px;height:100svh;background:#4a1d7d;z-index:2000;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);visibility:hidden;}
  .nav-links.active{transform:translateX(0);visibility:visible;}
  .nav-links ul{flex-direction:column;padding:80px 30px;}
  /* Reset aria-current di mobile nav: border-bottom tidak cocok untuk layout kolom */
  .nav-links ul li a[aria-current="page"]{border-bottom:none;padding-bottom:.8rem;border-left:3px solid var(--accent-color);padding-left:8px;}
  .close-btn{display:block;}
}
@media (max-width:768px){
  .home-header{height:calc(100svh - var(--navbar-height));}
  .text-box-1{max-width:600px;padding:0 15px;}
  .product-ctn-page{flex-direction:column;}
  .product-img-page{position:static;}
  .product-img-page img{max-width:100%;}
  .product-page h1{line-height:1.25;}
  footer > .footer-ctn{padding:60px 20px 40px;}
  .footer-row{grid-template-columns:1fr;gap:35px;text-align:left;}
  .footer-heading{display:block;margin-left:0;margin-right:0;}
  .footer-heading::after{left:0;}
  footer p,footer address{text-align:left;}
  footer a{justify-content:flex-start;}
  .fab-container{bottom:18px;gap:10px;}
  .about-section{contain-intrinsic-size:auto 1100px;}
  .event-gallery{contain-intrinsic-size:100% 380px;}
}

@media (max-width: 600px) {
    .eeat-wrap {padding: 1rem;}
    .eeat-dates {margin-left: 0;text-align: left;}
    .eeat-dates time {justify-content: flex-start;}
    .eeat-author {flex-direction: column;}
}

@media (max-width:480px){
  .product-wrapper{grid-template-columns:1fr;}
  .contact-feature-box{padding:1rem;}
  .contact-feature-box h2{font-size:1.1rem;}
  .about h1{margin-bottom:20px;line-height:1.3;}
  .copyright-bar{font-size:11px;padding:25px 15px;}
  .fab-container{bottom:20px;}
  .fab-container.left{left:20px;}
  .fab-container.right{right:20px;}
  .about-section{contain-intrinsic-size:auto 1400px;}
}
@media (hover:none) and (pointer:coarse){
  .product-card{perspective:none;-webkit-perspective:none;height:auto;}
  .card-inner{transform-style:flat;-webkit-transform-style:flat;height:auto;transition:none;will-change:auto;display:flex;flex-direction:column;}
  .card-front{position:relative;inset:auto;border-radius:15px 15px 0 0;flex-shrink:0;transform:none !important;-webkit-transform:none !important;}
  .card-back{position:relative;inset:auto;border-radius:0 0 15px 15px;flex-shrink:0;transform:none !important;-webkit-transform:none !important;}
  .product-card:hover .card-inner,.product-card:focus .card-inner,.product-card:focus-within .card-inner{will-change:auto;transform:none !important;-webkit-transform:none !important;}
  .product-card.is-flipped .card-inner{transform:none !important;-webkit-transform:none !important;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;animation-delay:-1ms !important;transition-duration:0s !important;scroll-behavior:auto !important;}
}