
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#1c1a17;--paper:#f2eee6;--cream:#e5ddcf;--coffee:#70452d;--line:rgba(28,26,23,.18);--accent:#c8a26b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.navbar{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;background:rgba(242,238,230,.96);backdrop-filter:blur(12px);position:sticky;top:0}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.04em}.brand-mark{width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display";font-style:italic}.dot{color:var(--coffee)}.nav-links{display:flex;gap:28px;font-family:"DM Mono";font-size:11px;text-transform:uppercase;letter-spacing:.06em}.nav-links a{opacity:.7;transition:.2s}.nav-links a:hover{opacity:1}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{min-height:calc(100vh - 78px);display:flex;align-items:flex-end;position:relative;background:linear-gradient(90deg,rgba(20,15,10,.72),rgba(20,15,10,.12)),url("../images/hero.jpg") center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,15,10,.72),transparent 55%)}.hero-content{position:relative;color:#f8f4ec;padding:10vh 8vw;max-width:800px}.eyebrow,.section-label{font-family:"DM Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase}.hero h1,.page-hero h1{font-family:"Playfair Display";font-weight:500;font-size:clamp(58px,8vw,112px);line-height:.93;letter-spacing:-.06em;margin:18px 0}.hero h1 em,.page-hero h1 em,h2 em{font-weight:500}.hero-copy{max-width:520px;font-size:17px;color:#e8e0d4}.hero-actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:13px 22px;border:1px solid var(--ink);font-family:"DM Mono";font-size:11px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:none}.btn-primary{background:var(--ink);color:var(--paper)}.btn-ghost{border-color:#fff;color:#fff}.scroll-note{position:absolute;right:5vw;bottom:35px;color:#fff;font:10px "DM Mono";letter-spacing:.12em}.section{padding:110px 8vw}.intro{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:35px}.split h2,.contact-grid h2{font:500 clamp(40px,5vw,70px)/1.05 "Playfair Display";margin:0;letter-spacing:-.05em}.split p{font-size:18px;max-width:580px}.text-link{display:inline-block;margin-top:12px;border-bottom:1px solid var(--ink);font-family:"DM Mono";font-size:11px;text-transform:uppercase}.feature-grid{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-card{min-height:410px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.feature-card.dark{background:#25221e;color:#f3ede2}.feature-card.accent{background:#c4a477}.feature-card.image-card{background-size:cover;background-position:center;color:#fff;position:relative}.feature-card.image-card:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38)}.feature-card>*{position:relative}.feature-card span{font:11px "DM Mono"}.feature-card h3{font:500 44px/1 "Playfair Display";margin:0}.feature-card p{max-width:260px;font-size:14px}.page-hero{padding:110px 8vw 70px;max-width:1050px}.page-hero.compact{padding-bottom:55px}.page-hero h1{font-size:clamp(60px,9vw,120px);margin:22px 0}.page-hero>p{font-size:18px;max-width:610px}.story-layout{padding-top:35px;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:start}.story-image{width:100%;height:650px;object-fit:cover}.story-copy h2{font:500 48px/1.05 "Playfair Display";letter-spacing:-.04em}.story-copy p{font-size:17px}.quote{margin-top:40px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:italic 28px "Playfair Display"}.menu-section{padding-top:20px}.menu-group{max-width:1000px;margin:0 auto 80px}.menu-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--ink);padding-bottom:14px}.menu-heading h2{font:500 42px "Playfair Display";margin:0}.menu-heading span{font:10px "DM Mono"}.menu-item{display:flex;justify-content:space-between;gap:30px;padding:23px 0;border-bottom:1px solid var(--line)}.menu-item h3{margin:0 0 3px;font:500 23px "Playfair Display"}.menu-item p{margin:0;color:#665f57;font-size:13px}.menu-item strong{font:12px "DM Mono";white-space:nowrap}.process{padding-top:10px;max-width:1050px}.process-step{display:grid;grid-template-columns:120px 1fr;gap:40px;padding:42px 0;border-top:1px solid var(--line)}.process-step span{font:11px "DM Mono"}.process-step h2{font:500 58px "Playfair Display";margin:0 0 10px}.process-step p{max-width:620px;margin:0;font-size:17px}.gallery{padding-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{margin:0}.gallery img{width:100%;height:390px;object-fit:cover;display:block;filter:saturate(.85)}.gallery .tall img{height:540px}.gallery .wide{grid-column:span 2}.gallery figcaption{padding-top:10px;font:10px "DM Mono";text-transform:uppercase}.video-section{padding-top:10px}.video-frame{background:#1c1a17;padding:14px}.video-frame video{display:block;width:100%;max-height:720px;object-fit:cover}.video-caption{display:flex;justify-content:space-between;padding-top:12px;font:10px "DM Mono"}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-top:25px}.contact-grid>div>p{font-size:17px}.contact-grid .btn{margin-top:20px}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form label{font:10px "DM Mono";text-transform:uppercase;letter-spacing:.1em}.contact-form input,.contact-form textarea{width:100%;margin-top:8px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 0;font:16px "DM Sans";outline:none;resize:vertical}.form-status{font:12px "DM Mono";margin:0}.footer{border-top:1px solid var(--line);padding:50px 8vw 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-brand{font:500 30px "Playfair Display"}.footer p{max-width:300px;font-size:13px;color:#665f57}.footer-links{display:flex;flex-direction:column;gap:8px;font:11px "DM Mono";text-transform:uppercase}.copyright{justify-self:end!important;text-align:right}.reveal{animation:rise .8s ease both}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:800px){.navbar{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);padding:22px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.hero{min-height:calc(100vh - 68px)}.hero-content{padding:10vh 7vw}.hero h1{font-size:65px}.split,.story-layout,.contact-grid{grid-template-columns:1fr;gap:45px}.section,.page-hero{padding-left:7vw;padding-right:7vw}.feature-grid{grid-template-columns:1fr;padding-left:7vw;padding-right:7vw}.feature-card{min-height:320px}.story-image{height:450px}.gallery{grid-template-columns:1fr 1fr;padding-left:5vw;padding-right:5vw}.gallery .wide{grid-column:span 2}.gallery img,.gallery .tall img{height:300px}.footer{grid-template-columns:1fr 1fr}.copyright{grid-column:span 2;justify-self:start!important;text-align:left}.process-step{grid-template-columns:55px 1fr;gap:15px}.process-step h2{font-size:43px}}
@media(max-width:500px){.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:span 1}.gallery img,.gallery .tall img{height:360px}.footer{grid-template-columns:1fr}.copyright{grid-column:auto}.page-hero h1{font-size:65px}}

/* Fitur tambahan */
.site-tools{position:fixed;right:22px;bottom:20px;z-index:30;display:flex;gap:8px;align-items:center;font:10px "DM Mono";letter-spacing:.06em}
.audio-toggle,.visitor-counter{border:1px solid rgba(28,26,23,.28);background:rgba(242,238,230,.94);backdrop-filter:blur(10px);padding:10px 12px;color:var(--ink)}
.audio-toggle{cursor:pointer;font-family:"DM Mono";text-transform:uppercase}.audio-toggle.playing{background:var(--ink);color:var(--paper)}
.visitor-counter strong{font-size:12px}
.home-slideshow{padding-top:25px}.slideshow{position:relative;height:min(68vw,620px);min-height:360px;overflow:hidden;background:#25221e;margin-top:20px}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}
.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,15,10,.42),transparent 55%)}
.slide-prev,.slide-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border:1px solid rgba(255,255,255,.7);background:rgba(20,15,10,.2);color:#fff;font-size:22px;cursor:pointer}.slide-prev{left:20px}.slide-next{right:20px}
.slide-dots{position:absolute;z-index:3;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.slide-dots button{width:8px;height:8px;border:1px solid #fff;border-radius:50%;padding:0;background:transparent;cursor:pointer}.slide-dots button.active{background:#fff}
.messages-section{padding-top:50px}.messages-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:20px 0 35px}.messages-heading h2{font:500 clamp(40px,5vw,65px)/1.02 "Playfair Display";margin:0;letter-spacing:-.05em}.messages-heading p{max-width:350px;font-size:14px}
.public-messages{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.visitor-message{border:1px solid var(--line);padding:22px;background:rgba(255,255,255,.18)}.visitor-message-meta{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:10px;font:10px "DM Mono";text-transform:uppercase}.visitor-message-meta strong{font-size:12px}.visitor-message p{margin:16px 0 0;font-size:15px;white-space:pre-wrap}.empty-message{font:12px "DM Mono";color:#665f57}
@media(max-width:800px){.site-tools{left:7vw;right:7vw;justify-content:space-between}.slideshow{min-height:300px}.messages-heading{display:block}.public-messages{grid-template-columns:1fr}}
@media(max-width:500px){.site-tools{bottom:12px}.audio-toggle,.visitor-counter{padding:8px}.audio-toggle span{display:none}}

.help-box{margin-top:45px;padding:28px;background:#25221e;color:#f3ede2;max-width:560px}.help-box h3{font:500 34px "Playfair Display";margin:8px 0}.help-box p{color:#e8e0d4!important;font-size:14px!important}.help-box .btn{border-color:#f3ede2;margin-top:8px}
